可以把 /proc/PID/maps文件里的各項累加起來,取和即是。
$ (echo ‘a=0’; sed -r ‘s;^([^-]*)-([^- ]*).*;a=$((a+0x\2-0x\1));’ /proc/2451/maps;printf ‘echo Calculated mmap size : $((a》》10)) KB’ ) | sh -
Calculated mmap size : 92484 KB
另一種方法是讀取 /proc/PID/status文件里的VmSize項:
$ echo “size of VM for status: ” $(cat /proc/2451/status | grep “VmSize” | sed -r ‘s;^VmSize:[ \t]*([0-9]*).*;\1;’) “KB”
size of VM for status: 92980 KB
稍微解釋下。
1. sed 命令的 -r選項表示 使用 extended regular regressions.
所以,如果不加 -r參數,上面的命令要改成:
$ echo “size of VM for status: ” $(cat /proc/2451/status | grep “VmSize” | sed ‘s;^VmSize:[ \t]*\([0-9]*\).*;\1;’) “KB”
size of VM for status: 92980 KB
2.第一個命令里的sed 后面跟的參數要用單引號,不可以用雙引號。
-
Linux
+關注
關注
87文章
11123瀏覽量
207908 -
進程
+關注
關注
0文章
197瀏覽量
13928 -
虛擬內存
+關注
關注
0文章
70瀏覽量
8043
發布評論請先 登錄
相關推薦
評論