我使用的是 Windows 7 64 位,有 4GB 内存
每当我复制或处理大量数据时,Windows 都会将所有内容从内存交换到虚拟内存交换文件,为数据缓存腾出空间。
问题是:我并不真正需要缓存我正在复制的数据,它只被复制一次,缓存这些数据对我没有帮助。另一方面,每当我想再次使用这些打开的程序时,交换程序会给我带来很大的滞后时间。
我想要的是:将数据缓存限制为一定量,比如说 1gb,或者保留一定量的内存,比如说 2gb,专门用于运行程序的内存。
我的交换文件位于单独的分区上,但交换时间仍然存在问题。
答案1
将页面文件设置为 0 GB 不会阻止 Windows 进行分页。大多数分页根本不涉及页面文件,即使没有页面文件,这种情况也会继续。分页在 Windows 中就像呼吸对你我一样正常和必要。几乎所有磁盘 IO 都是通过分页完成的。禁用页面文件会使内存管理系统不平衡,通常会导致分页更多,而不是更少。
不要混淆页面文件和缓存,它们的用途截然不同。
答案2
我通过使用 TeraCopy 实用程序(替代 Windows 复制/移动)解决了这个问题。它有一个禁用写入缓存的选项,因此 Windows 不会开始交换正在运行的程序内存以腾出空间用于缓存。
答案3
我通常将交换文件设置为 0gb,这样 Windows 就会被迫使用所有 RAM,并且永远不会交换
即使你使用了 2GB 的内存,并且开启了缓存,如果 RAM 中的数据已经过期了一定量,Windows 仍然会将数据写入磁盘,因此它稍后会变慢
看看将缓存设置为 0gb 是否对你有用,但并不适用于所有人