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:需要修改代碼
 
參考鏈接:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM