任务管理器--内存篇(下)

 

 

你真的看懂任务管理器了吗?内存篇(下)
windows任务管理器陪伴我们很长时间了,但是你真的看懂他了吗?
//===============================
Xisat@ 2008-03-15 转载请保留作者信息和首发网站www.txww.org 感谢
//==================================
继续讲解前,先对上篇的几个概念做些补充



这里的内存使用是什么样的概念呢?和上文提到的虚拟内存大小(private byte)之间又是什么关系呢?
windows任务管理器(WINDOWS TASK MANAGER以下简称TM )的内存使用和procexp explorer(以下简称PE)
中的working set 是同一个概念



working set 在msdn里的解释是:
The working set of a program is a collection of those pages in its virtual address space that
have been recently referenced. It includes both shared and private data. The shared data
includes pages that contain all instructions your application executes, including those in your
DLLs and the system DLLs. As the working set size increases, memory demand increases.
大意为:工作集(working set)是程序在自身虚拟地址空间中最近引用的页面集合。它包括共享和私有数据
。共享数据包括哪些支持执行文件运行的系统dll和私有dll的内存页,内存需求跟随工作集增加而增加。
可以理解为进程提交的虚拟地址空间在物理内存中实际引用的部分,是进程占用内存大小的直接表现.
细心的读者可能会发现,为什么TM中有些进程的 虚拟内存大小比内存使用还要小呢?对这一事实,我还没有
确切的答案,也可以理解为,多余的这部分是某些系统共享dll的页空间比如kernel32.dll user32.dll
ntdll.dll等
另一个补充是关于pf使用率的概念
以下也是msdn上的解释
PF Usage - This is the total number of committed pages on the system.  It does not tell you how
many are actually written to the page file.  It only tells you how much of the page file would
be used if all committed pages had to be written out to the page file at the same time.
pf使用是当前系统所有已提交的页面空间总数,它不反应实际有多少写入页面文件.它仅仅反应假如所有的已提
交页面空间在同一时间写入页面文件可能占用的大小。
实际使用这个值并不一定代表了当前所有进程的物理内存占用,如上文所说,只是所有进程的虚拟地址空间的
总和,具体的物理内存占用或者页面文件的使用要看当前机器的环境和系统分配了。
以上概念性的东西比较多,乍看似乎不那么实用,掌握好的话遇到一些概念性的系统问题有指导作用哦
继续下文
这里是一个比较重要且被忽略的概念
页面错误和页面错误增量



当进程需要访问的某些部分不在缓存内存中(软页错误)也不在内存中(硬页错误)就会触发页面错误。
结果呢?
一般就从硬盘上去找数据了,效率当然低了很多。当物理内存大小不能完全跟上进程数据访问要求的时候,页
面错误就不可避免。但是减少页错误的可能,也是提高应用程序效率的重要部分
页面错误增量可以实时反应出进程的页错误动态,对判断系统性能开销有很重要的参考作用
TM中一些其他的内存信息
物理内存



总数:物理内存总数(你有几根内存?)
可用数:物理内存中还有多少可被提交?
系统缓存:用来缓存内存和硬盘交换的数据
windows缓存机制是windows数据效率交换的重要组成,这里的系统为工作集提供一个备用缓冲列表,提高内存
与其他存储设备的交换效率
ps:大家可能要联想到supercache是怎么工作的呢?是不是提高了这个缓存的大小啊?很抱歉,我还没有研究
过,呵呵,下文吧
认可用量(commit charge)



总数:相当于当前系统的提交的虚拟地址空间总和(这里也包括页面文件),比pf要大些,windows系统占用
限制:可用提交空间的最大值(包括页面文件)
峰值:当前环境历史最大值
核心内存



总数:系统核心驱动提交的空间总数,系统优化时候不要忽略了这个。



分页数:核心可被映射到页面文件的空间
未分页:核心常驻内存的空间
注:TM中的进程信息列可在 查看-选择列中添加



... ...
//===============================
Xisat@ 2008-03-15 转载请保留作者信息,感谢
//==================================
概念比较多,看完需要些耐心了。基础扎实些没有坏处的。:)
下篇文章打算讲讲TM中的 cpu核心时间 进程线程,句柄等等概念
饿咯,吃饭去
回见

对文章再做些补充
这些概念在实际操作中有什么作用呢?
举个简单的例子,机器操作变慢时,大家习惯性的会打开任务管理器看看cpu占有率,pf使用率来简单的判断当前系统状态.
很多时候这并不足以反应情况(pf使用和cpu占用可能都不高阿),比如开机很久的服务器,比如感染某些文件型病毒,前者你应该注意的是进程页面错误和系统缓存的信息,后者关心的应该趋向于线程信息了
而这些存在于系统中平时被大家忽略的基础往往决定着技术之间的差距
NT内核的系统还有一个非常实用的工具 管理工具-性能
它能提供系统性能计数器的图表显示,平时我用这个来评估系统当前的健康状态,里面的概念更多更复杂,许多概念之间的相互关系我也弄不清楚,但不可否认,这是一个非常有用的系统工具,有兴趣的朋友可以研究一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值