为什么物理存储空间的总数不等于可用数加进程占用数
Windows Vista及后续版本的内存管理机制确实与以往不同,它倾向于物尽其用,因此查看可用内存时数值往往较小,但这并不影响正常使用,64位Server 2003可能也采用类似机制。
Windows Vista及后续版本的内存管理机制确实与以往不同,它倾向于物尽其用,因此查看可用内存时数值往往较小,但这并不影响正常使用,64位Server 2003可能也采用类似机制。
其实Vista开始微软就引入了SuperFetch和SysMain服务,把空闲内存拿来预读数据,所以“可用”少不代表真不够用。你看到的占用大部分是standby list里的缓存,一旦新程序需要内存,系统会瞬间释放这部分,响应速度反而更快。别被那个数字吓到了,只要不爆内存,这种机制其实是好事。
确实是这样,微软这个“物尽其用”的策略在Vista之后就成了常态。很多刚升级或者换环境的用户看到“可用内存”变少就慌了,其实只要系统响应没变慢,那些被占用的多半是缓存,随时可以释放的。不过提到Server 2003有点混淆,那个主要是32位架构的局限性导致寻址问题,和Vista之后的内存压缩机制不太一样,这点需要区分开。
说得太对了,很多人看到这个数字就慌,以为内存不够用。其实这就是所谓的“物尽其用”,没用的内存放着也是浪费。只要系统不卡顿,这数字小点完全没影响,别被表面数据吓到。
确实,现在的系统都比较“鸡贼”,为了发挥硬件潜力,会把能用的内存都利用起来,看起来可用内存少,但实际用起来并不卡。