Linux下实现脚本监测特定进程占用内存情况
生活随笔
收集整理的這篇文章主要介紹了
Linux下实现脚本监测特定进程占用内存情况
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文鏈接:http://blog.csdn.net/keheinash/article/details/50641090
內存泄露是C/C++程序員經常需要面對的問題,除了有效地經常查找出內存泄露的位置外,在嵌入式的開發中,還經常需要確定自己寫的程序是否存在內存泄露的情況
Linux系統下,我們可以利用以下命令來獲取特定進程的運行情況:
cat /proc/$PID/status
其中PID是具體的進程號,這個命令打印出/proc/特定進程/status文件的內容,信息比較多,包含了物理內存/虛擬內存的使用狀況,監控進程是否有內存泄露的問題,一般查看進程占用物理內存的情況:
VmRSS: xxxkB
可以采用grep命令過濾出我們需要的信息:
cat /proc/$PID/status | grep RSS >> "$LOG" #過濾包含RSS的行,并且重定向到參數LOG表示的文件由于PID號需要通過進程名獲取,同樣使用grep命令過濾出我們指定進程的進程號:
ps | grep $PROCESS | grep -v 'grep' | awk '{print $1;}'#$PROCESS表示進程名字再設置一個循環,每十秒獲取一次信息并寫入指定文件,完整的腳本如下:
#!/bin/bash PROCESS=進程名 LOG="/mnt/memlog.txt"sleep 10#刪除上次的監控文件 if [ -f "$LOG" ];then rm "$LOG" fi#過濾出需要的進程ID PID=$(ps | grep $PROCESS | grep -v 'grep' | awk '{print $1;}')while [ "$PID" != "" ] docat /proc/$PID/status | grep RSS >> "$LOG"#過濾出VmRSS行sleep 5PID=$(ps | grep $PROCESS | grep -v 'grep' | awk '{print $1;}') done總結
以上是生活随笔為你收集整理的Linux下实现脚本监测特定进程占用内存情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 运行进程实时监控pidsta
- 下一篇: java定时任务的两种实现方式