PF使用率
页面文件
PF:Page File,页面文件虚拟内存)。Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘空间来充当内存使用,以缓解内存的紧张。 而PF使用率则表示当前被系统使用的虚拟内存的量。
概念
虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。 一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。但是,计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而扩增RAM容量(可加内存条)是最佳选择。
虚拟内存是Windows 为作为内存使用的一部分硬盘空间。即便物理内存很大,虚拟内存也是必不可少的。虚拟内存在硬盘上其实就是一个硕大无比的文件,文件名是PAGEFILE.SYS,通常状态下是看不到的。必须关闭资源管理器对系统文件的保护功能才能看到这个文件。虚拟内存有时候也被称为是“页面文件”就是从这个文件的文件名中来的。
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存,虚拟内存在硬盘上的存在形式就是 PAGEFILE.SYS这个页面文件。
通过windows系统的任务管理器的“性能”模块中可以看到“PF使用率”,一般情况下,虚拟内存是由系统托管的,也就是说系统会根据实际情况自动调整虚拟内存的大小,PF使用率就是计算机当前已经使用了的空间大小。程序打开的越多,程序占用的内存越大,而物理内存越小,这个PF使用率就会越高。说到底就是物理内存不够用。
问题
PF是虚拟内存,既然是虚拟内存,肯定速度比不上物理内存。当它使用率过高时会占用大量磁盘空间,默认页面文件是在C盘,也就是说,PF使用率过高会让C盘变得更臃肿。而且计算机速度会变慢,甚至有时电脑会提示虚拟内存不足。
1.物理内存
计算机的快速发展,也就是计算机硬件和软件的快速发展。当前(2013年)主流的计算机都拥有4GB以上的物理内存,与之相对的是更加庞大的软件,例如Windows XP只占用500MB左右的物理空间,而Windows 7则占用了2GB以上甚至更大的空间,这些庞大的文件在运行时让内存吃紧,如果内存过小,PF使用率就会变高。
2.软件使用
软件运行时需要占用内存,软件越大,占用的内存就越多,但是物理内存是有限的,所以运行的软件越多,PF使用率就会越高。同时一些电脑用户没有检查计算机的后台软件及服务,那么这些后台程序一样会占用内存,计算机会将这些后台程序移至虚拟内存。
3.系统设置
系统设置不够合理。(1)如果系统启动时同时加载了大量的启动项,这些项目会转移到后台运行,占用内存;(2)系统的外观设置,系统特效使用的越多,内存占用越大;(3)页面文件所在的硬盘容量即将使用完(也可能是页面文件所在的分区容量即将使用完),虚拟内存设置太小,系统就会提示虚拟内存不足。说到底,PF使用率和物理内存大小成反比关系,可用的物理内存越大,PF使用率就会越低。
程序分析
在保护模式下,Win32 程序可以寻址 2GB 或 3GB 虚拟内存,对每一个进程来说,它寻址的范围都是这么多。OS 负责把进程提交的虚拟内存按页(一页 4KB,工作集)映射到物理内存的实际页帧上(驻留集)。如果设置了硬盘上的交换文件(Pagefile.sys),那么 OS 也会在物理内存和交换文件之间交换内存页,不活动的进程,它的虚拟内存页会被从物理内存中交换到硬盘上,等它活动的时候再交换回来(分页)。所以,如果设置了硬盘上的交换文件,而物理内存不足(映射所有的虚拟内存页)的时候,电脑就会频繁将物理内存里的页和硬盘进行交换。如果没有设置硬盘上的交换文件,物理内存不足(映射所有的虚拟内存页)的时候电脑就会告诉你“虚拟内存不足了”。
如果设置了硬盘上的交换文件,Windows 总是会将不太活动的进程的内存页交换到那里去。对于一个进程来说,它在物理内存中映射的驻留集少于它想要的工作集,就会引发分页而降低效率。对于物理内存相当大的电脑,除非需要执行会检查硬盘上的交换文件的程序,否则可以取消硬盘上的交换文件。比如早期的 PhotoShop,那个时候的电脑,内存比较小,所以会强制要求启用硬盘上的交换文件。新版本的 PhotoShop 没有这个强制检查,你可以分配几十 GB 物理内存给它用(x64 的版本)。
虚拟内存的使用总量是所有工作集的综合,因此它包括了分页到硬盘的部分,如果有的话。值得注意的是,共享的 DLL 只使用自己一部分工作集,虽然几个进程使用了它,但由于 Windows 允许进程间共享页帧,所以用任务管理器查看内存使用的时候,要注意这个方面的区别。而且,任务管理器查看内存使用显示的是已经提交的虚拟内存,如果进程没有提交,是不会告诉你的。
如果系统变慢(尤其经常同时长时间运行较多程序时),可以查看任务管理中的PF使用率值,如果几乎占用到100%,可以将虚拟内存调大到内存的2到3倍或更多,这个时候再看PF占用率会下降很多。修改完毕后,多个程序之间切换速度变得不再缓慢。
解决
增加更大的物理内存是解决PF使用率过高的根本方法(单独升内存会使机器的命中率降低 即PF降 CPU升)
如果没有增加物理内存,在物理内存不变的情况下,我们该如何解决PF使用率过高的问题呢?
1.精简系统,去除不必要的系统文件及服务,优化相关设置。关闭不必要的启动项和系统服务,清理注册表垃圾,整理磁盘碎片,合理设置虚拟内存及环境变量。
2.检查计算机后台软件,结束掉那些没有使用的后台软件,将虚拟内存设置到系统盘以外的盘,这样一定程度上可以减少系统盘的文件碎片,速度也可以在很长时间内保持较快。
参考资料
虚拟内存的介绍.百度百科.2013-09-24
pf使用率高怎么办.百度经验.2012-11-05
最新修订时间:2023-11-28 02:00
目录
概述
概念
参考资料