Linux性能分析---内存

内存需要注意的情况:
1)available:接近于0
2)swap:持续增加或者波动
3)dmesg | grep oom-killer:OutOfMemory-killer运行状态
 
以下情况都属于正常情况:
1)free:接近于0
2)used:接近于total
3)available:大于20%*total
4)swap:为0或者稳定在固定值
 
内存监测工具:
1)top + M:按照内存使用情况,对进程进行排列
2)free -m/-g/-h:查看当前系统内存
3)vmstat 时间间隔:打印系统内存、CPU情况,若swap出现波动,需要注意。
4)sar -W:各CPU的swap切换频率,正常情况下应该为0
5)cat /proc/meminfo:查看系统当前内存分配
6)losf:查看系统文件占用情况
 
进程内的内存监测工具:
1)pmap -d PID:查看进程内的内存分配情况,尤其注意最后一行
2)hcache -pid PID:查看置顶进程内的缓存文件
3)cat /proc/PID/smaps:查看进程的内存占用情况
4)pidstat:查看进程占用资源,如内存、IO、CPU,详细使用说明请查看帮助(man pidstat)
 
缓存监测工具:
1)slabtop:
2)ipcs -m:查看共享内存
3)vmtouch:查看当前系统内已缓存的文件并显示其详细信息
4)hcache —top 10:查看当前系统中占用缓存最高的10个进程
 
内存泄漏监测工具:
1)Valgrind —memcheck:扫描进程,并列出内存泄漏点
2)gdb:调试过程中,需要中断进程
3)libcmalloc:需要修改代码
 
参考链接:
posted @ 2018-12-27 01:32  !--!  阅读(1279)  评论(0编辑  收藏  举报