概述
物理内存占用
Nmon sheet
根据经验,nmon的top sheet -- Memory by command最直观,也最容易直接看出哪个进程消耗的内存资源多。
然后采用类似ps –ef| grep java这样的命令查看这个进程具体是什么内容。
另外,有不少命令也可以看哪个进程占用物理内存多,但讲真,经常用命令行去看,但经常看不出来什么结果。例如下图,每个进程消耗的物理内存似乎差距不大,虽然这个例子中服务器上跑oracle这样的系统软件,内存都是oracle占的,但即使不跑oracle,这些进程的内存占用往往也差距不大,因为一个应用常常是由N个进程组成,而我们初步判断谁占用内存多时,最想知道的是哪个应用。
Svmon
列出消耗物理内存前十的进程
svmon -Pt10 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
解释一下inuse和virtual。Svmon里面的inuse指的是这个进程消耗的计算内存+非计算内存,并且是在物理内存里的那一部分(事实上,非计算内存也不会换页到Paging Space里面)。而virtual指的是进程空间里面的分页,这个分页也许在物理内存,也许在Paging Space。假如说一个进程使用的分页都在物理内存的话,inuse>=virtual,因为此时inuse里面有文件缓存,而virtual里面没有文件缓存,文件缓存是操作系统给缓存的,和进程空间没关系。
相似的名字在不同命令当中的含义是不一样的,一定要搞清楚这个字段的真正含义
ps
ps aux | head -1 ; ps aux | sort -rn +4 | head -10
按照占用物理内存的百分比排序,列出前十个进程。
Nmon command
nmon --> t (top processes) --> 4 (order in process size)
Paging Space占用
用到Paging Space不一定说明这个进程占用内存多,很有很能是它被其他进程挤出来的。查出谁在用Paging Space,大概率是查出谁是受害者。
按照占用Paging Space的进程排序
svmon -P -O sortseg=pgsp
检查哪个进程引起的Paging到Paging Space(IBM script)。脚本发现po这个指标大于50的时候保存进程相关信息退出
Paging Space一旦为这个分页分配了磁盘空间,就不会因为这个分页换回物理内存而释放,因此经常可以看到Paging Space的利用率不为0,但此时物理内存占用也不多。Paging Space的利用率不为0只能说明历史上有物理内存不足的情况。
最后
以上就是畅快外套为你收集整理的性能指标之资源指标-内存-判断占用内存多的进程的全部内容,希望文章能够帮你解决性能指标之资源指标-内存-判断占用内存多的进程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复