日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下实现脚本监测特定进程占用内存情况

發布時間:2023/12/20 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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下实现脚本监测特定进程占用内存情况的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。