Windows 7中是否有可修改的“ swappiness”等效项?
我的系统有8GB的RAM,足以满足我的日常使用。我想修改交换行为,即* NIX系统所说的swappiness,并将其设置为0,就像在Ubuntu计算机上所做的那样。
我已经在网上搜索了此内容,但所有答案似乎都是针对* NIX系统的。
Windows 7中是否有可修改的“ swappiness”等效项?
我的系统有8GB的RAM,足以满足我的日常使用。我想修改交换行为,即* NIX系统所说的swappiness,并将其设置为0,就像在Ubuntu计算机上所做的那样。
我已经在网上搜索了此内容,但所有答案似乎都是针对* NIX系统的。
Answers:
在Windows下,有一个称为“页面文件”的文件,系统会交换应用程序以释放RAM。我目前不在Windows机器上,但Adobe 在此处联机的步骤看起来很正确(我认为Win+ Pause是“高级系统设置”的快捷方式)。
尽管可以禁用页面文件,但是对此有些担忧。有关更多信息,请阅读此
虚拟内存的意义不仅仅在于“应用程序分配RAM,而当物理RAM用尽时,某些内容会被调出到SWAP”。
在Linux(可能还有整个UNIX)中,系统尝试将最近读取的页面保持在RAM中:已执行的程序,已加载的数据,最近已写入的数据(也已在磁盘上)等。因此,如果再次执行同一程序,则不会不必从磁盘重新加载。当某些程序要求将更多内存分配给其虚拟地址空间时,首先会重新分配剩余的磁盘缓冲区(不进行磁盘访问)。如果这还不够,那么实际上正在换出一些最近未访问过的正在运行的应用程序页面。在Linux上,交换通常根本不会发生。一旦系统开始交换,您会注意到驱动器活动增加(并且速度缓慢),并且“继续前进”,因为这可能意味着某些应用程序正在泄漏内存,或者引擎盖下的某些东西开始失去控制。
Windows传统上有一个愚蠢的额外习惯,即在闲置一段时间后,它们交换掉整个用户空间应用程序。严格来说,如果没有,请尽可能多地提供RAM,以防万一您想启动另一个饥饿的应用程序。如果您让PC处于运行状态,并且离开了几个小时,则在返回时您会注意到您切换到的所有应用程序都会从交换中缓慢地重新加载。在Windows 2000中,这种行为特别痛苦,在更现代的Windows版本中,这种行为逐渐变得不那么明显。在W2k中,关闭交换很容易。Windows 7有时仍然可以像蜜糖一样渗入,有时没有任何特殊原因,Windows 8.1和10明显更好。
还有其他因素可能导致系统在磁盘访问速度缓慢的情况下运行缓慢。在Windows 7中,您永远不会知道系统是不是只是以旧的W2k方式换掉了您的应用程序,还是应该将应用程序启动速度太慢归咎于Antivirus,还是Windows Update会以某种方式在应用程序中执行某些操作?这次的背景知识(已知算法中存在反复性的怪癖,导致挂起,CPU占用率和/或磁盘抖动为100%),或者特别是某些.NET Framework监视任务在WinSXS数据库中丢失了还是什么。有时,在某些Microsoft软件版本/知识中,实际上似乎是在任务管理器中故意“遮盖”了某些Windows本地“后台任务”(特别是Windows Update本地数据库管理),它们的CPU和RAM使用率未显示在总内存消耗中。“合法”活动,但很难与恶意软件rootkit区别开来……只有当崩溃停止并且提示“新更新可用”的提示框立即弹出时,您才知道原因是什么。
好吧,至少最近的Windows版本可以告诉您每个进程的磁盘IO活动,并且现在单独报告单个服务(而不是单个SVCHOST.EXE进程)。