性能指标之资源指标-内存-判断占用内存多的进程
2017-03-20 09:47
429 查看
物理内存占用
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只能说明历史上有物理内存不足的情况。
相关文章推荐
- 性能指标之资源指标-CPU-谁占用了CPU-进程级
- 性能指标之资源指标-内存-内存泄漏为什么不易判断
- Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
- python 判断进程是否存在+获取进程占用内存值
- 如何快速杀死占用过多资源(CPU,内存)的数据库进程
- Linux下如何查看哪些进程占用的CPU内存资源最多
- ubuntu查看系统资源占用(内存,cpu和进程)
- w3wp.exe进程资源占用内存过大的问题
- Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具
- zabbix自动发现结合shell实现自动发现占用内存最大top10进程并监控其资源 推荐
- zabbix自动发现结合shell实现自动发现占用内存最大top10进程并监控其资源
- zabbix结合shell实现自动发现占用内存最大top10进程并监控其资源
- Linux下获取占用CPU内存资源最多的10个进程的方法
- Linux下获取占用CPU内存资源最多的10个进程的方法
- mmdrv.exe进程占用大量内存及其他系统资源
- ubuntu - 查看系统资源占用(内存,cpu和进程)
- Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
- Linux中查看进程占用内存和系统资源情况的命令
- Ubuntu查看系统资源占用(内存,cpu和进程)
- ubuntu查看系统资源占用(内存,cpu和进程)