问题
32位Windows系统未分页内存限制导致的VPS的容量问题
解决方案
在32位的Windows系统上,制约VPS的数量的主要参数是“未分页内存”
打开Windows自己的任务管理器,选择性能标签,查看“核心内存”,查看“未分页”
在32位的windows上,这个参数最高不能超过256MB,即262144
当接近这个参数的时候,Windows就会变得非常不稳定。
而使用x86-64架构的windows,不存在这个限制
所以,对于Windows的Virtuozzo服务器,最大数量制约不是物理内存的大小
而是这个参数的限制
例如服务器有物理内存4GB,并按Windows要求自动分配6GB的虚拟内存
此时可以创建128MB至256MB内存的VPS约60到80个
但是,这个时候每个VPS内是基本没有应用程序在运行的
本身VPS占用的内存很小
当VPS上线并承载用户数据后,内存的使用会逐渐升高
这个时候,Windows核心内存的未分页内存数量就会逐渐接近256MB的极限
此时Windows就不稳定了
对于vzwin351SP1的版本,SP1为每个VPS都提供了独立的终端服务
所以,VPS自身消耗的资源就会更加多一些
这也导致未分页内存会尽快接近256MB
所以,用于生产环境的场合,在vzwin351sp1的场景下
如果服务器是4GB物理内存加6GB虚拟内存的32位Windows环境
创建30个VPS是比较保险的安全的容量
要想开更多的VPS,需要使用x86-64版本的Windows
同时,Linux系统上也没有这个限制,32位的Linux即可达到很高的容量
从vzwin35138版本起,新增对未分页内存参数的限制功能,可以为每个vps指定其未分页内存
但是只能在命令行下设置,方法:
vzctl set 101 --nonpagedpoollimit 20
其中,101是VPS的ID,20是表示20MB