请教一个内存方面的问题
Windows内核调试
请教一个内存方面的问题
jlflyfox
2011-03-09, 18:55 下午
在windows任务管理器的进程tab页那里,我大致统计了下各个进程的“内存使用”总和,发现远远小于系统自己统计出来的“内存使用”总数,后者是“性能”那个tab页中有个总数那个数据,或者“进程”那个TAB页最下面。
比如我把任务管理器的内存使用累加起来大约有4g,而操作系统自己的总数却有6G左右,
如果是其它比如内核吃掉的,那也太多了吧。
由于我这个案例现场不能安装WINDBG,也不能重启,所以比较麻烦。
请张老师或者哪位高手给个方案。
Re: 请教一个内存方面的问题
Thomson
2011-03-09, 21:52 下午
你加的是process tab里面的哪个column?
Re: 请教一个内存方面的问题
格蠹老雷
2011-03-10, 10:21 上午
同意Tom,内存方面的很多术语容易混淆,一定要精确描述,否则会盲人摸象...
Re: 请教一个内存方面的问题
jlflyfox
2011-03-10, 11:42 上午
我加的各个进程的“内存使用”总和,就是process tab里面"内存使用"那列,不是"虚拟内存大小"那列.
Re: 请教一个内存方面的问题
格蠹老雷
2011-03-10, 17:27 下午
看来用的是XP?
在XP的Task Manager中,内存用量(Memory Usage)实际指的是进程的工作集(Working set),也就是该进程目前驻留在物理内存中的内存大小,底层是以页的个数为单位的,显示时乘以页大小,通常即4KB,所以看到的大小应该都是4KB的倍数
进程的工作集一部分是私有的,称为私有工作集,一部分是与其它进程共享的
因此直接把多个进程的工作集加起来是没有太大意义的,因为会把共享部分重复累加,因为这个原因,Win7的任务管理器已经把内存指标细分为多个指标,关于工作集的指标就有四个:工作集(相当于XP的内存用量)、私有工作集,工作集峰值,工作集变化量(Delta)
至于为什么重复累加了还要比系统中的总内存驻留数小,主要原因是这样累加工作集没有包含系统的全局内存以及窗口子系统的会话(Session)内存,简单理解就是没有包含内核空间中的很多全局内存,所以会小很多
Re: 请教一个内存方面的问题
jlflyfox
2011-03-10, 18:15 下午
哦,谢谢
主要是差别太大,约2g左右
我非常怀疑有病毒,因为有进程奇怪名字,而且是temp目录下的
张老师说的内存那个的确有点让人迷惑。
Re: 请教一个内存方面的问题
Thomson
2011-03-11, 10:06 上午
也可以用process explorer看看,里面分的应该更细一些.