프로그램의 모든 프로세스에서 메모리 사용량을 어떻게 계산할 수 있나요?
예를 들어 웹페이지에 여러 개의 Chrome 탭이 열려 있고 각각 다른 프로세스를 실행하고 있습니다. 모든 Chrome 탭의 총 메모리 사용량을 얻는 방법은 무엇입니까? Chrome 실행 파일은 /opt/google/chrome/chrome
내 Ubuntu에 있습니다.
답변1
편리한 방법은 다음과 같습니다.위에. 상단에 입력하여 P볼 수 있습니다.프로그램당다음과 같은 통계가 있습니다.
PAUSED
NPROCS SYSCPU USRCPU VSIZE RSIZE RDDSK WRDSK SNET MEM CMD 1/4
17 1.14s 8.06s 14.3G 2.7G ? ? ? 35% chrome
1 0.30s 0.30s 2.6G 1.9G ? ? ? 25% Xorg
1 0.09s 1.15s 1.8G 329.7M ? ? ? 4% gnome-shell
1 0.00s 0.07s 994.8M 257.2M ? ? ? 3% thunderbird
1 0.00s 0.00s 1.3G 162.4M ? ? ? 2% soffice.bin
2 0.00s 0.00s 1.2G 86736K ? ? ? 1% gvim
1 0.00s 0.01s 1.0G 64724K ? ? ? 1% owncloud
1 0.00s 0.00s 970.3M 59908K ? ? ? 1% evolution-cale
1 0.00s 0.00s 675.7M 48404K ? ? ? 1% tracker-extrac
1 0.03s 0.03s 581.0M 47080K ? ? ? 1% xchat
2 0.00s 0.00s 84.2G 45292K ? ? ? 1% nacl_helper
M각 프로세스에 대한 메모리 통계를 입력합니다 .
PAUSED
PID MINFLT MAJFLT VSTEXT VSIZE RSIZE VGROW RGROW MEM CMD 1/5
1069 38118 0 0K 2.6G 1.9G 0K 40K 25% Xorg
14702 20 0 91595K 939.1M 427.0M 0K 0K 5% chrome
3755 39 0 11K 1.8G 329.7M 0K 0K 4% gnome-shell
14669 7804 0 91595K 1.8G 293.1M 0K -136K 4% chrome
15530 477 0 91595K 1.1G 292.6M -8196K -156K 4% chrome
3932 6 0 96K 994.8M 257.2M 0K 0K 3% thunderbird
15436 7434 0 91595K 978.4M 228.5M -1024K -212K 3% chrome
14821 2129 0 91595K 1.0G 220.2M 1024K 1936K 3% chrome
15084 213 0 91595K 890.7M 211.9M 0K 0K 3% chrome
15129 58 0 91595K 915.4M 208.1M 0K 0K 3% chrome
14729 13 0 91595K 1.1G 188.0M 0K 0K 2% chrome
15474 2080 0 91595K 858.5M 166.0M 0K -800K 2% chrome
11220 0 0 2K 1.3G 162.4M 0K 0K 2% soffice.bin
H사용 가능한 명령에 대한 간략한 도움말을 보려면 입력하세요 . 조사하기 전에 자동 업데이트를 일시 중지하기 A위해 활성/모든 프로세스에 대한 통계 수집을 전환하려면 입력하세요 Z( PAUSED
활성화된 경우 오른쪽 상단에 표시됨).
답변2
다음과 같이 ps 명령을 다른 명령과 함께 사용할 수 있습니다.
ps -eo size,command --sort -size | grep chromium | awk '{ hr=$1/1024 ; sum +=hr} END {print sum}'
일상적인 사용 사례의 경우 파일을 만들고(여기서는 이름을 memsum이라고 지정했습니다!) 다음 위치에 넣으세요.
ps -eo size,command --sort -size | grep $1 | awk '{ hr=$1/1024 ; sum +=hr; echo $1} END {print sum}'
# ^this $1 will come from runtime argument
그런 다음 여기에 플래그를 설정합니다 x
(실행 가능하게 만듭니다).
chmod +x memsum
그리고 그것을 사용하십시오 :
./memsum chromium
./memsum httpd
답변3
다음 명령은 ps의 출력을 grep하고 출력한 후 awk를 사용하여 열의 값을 합산합니다. 올바른 프로세스 집합이 합산되고 있는지 확인하려면 합과 함께 ps의 출력을 살펴보는 것이 유용합니다.
ps xuaw --cols=80|grep -e chrome -e COMMAND|grep -v grep |awk '{m=$5;sum += m;print} END {print "Total VSZ: " sum}'
샘플 출력은 다음과 같습니다.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
2006 29273 0.0 0.3 701716 82948 ? Sl Oct30 1:44 /opt/google/chrome/chrome
2006 29288 0.0 0.0 351768 6892 ? S Oct30 0:00 /opt/google/chrome/chrome
2006 29289 0.0 0.0 6284 332 ? S Oct30 0:00 /opt/google/chrome/chrome-sandbox /opt/google/chrome/chrome --type=
2006 29290 0.0 0.0 398284 20104 ? S Oct30 0:00 /opt/google/chrome/chrome --type=zygote
2006 29294 0.0 0.0 125500 4684 ? S Oct30 0:00 /opt/google/chrome/nacl_helper_bootstrap /opt/google/chrome/nacl_he
2006 29295 0.0 0.0 406480 7300 ? S Oct30 0:00 /opt/google/chrome/chrome --type=zygote
2006 29432 0.0 0.0 989216 19464 ? Sl Oct30 0:01 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fiel
2006 29772 0.0 0.1 1004072 32408 ? Sl Oct30 0:09 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fiel
2006 29780 0.0 0.0 389592 19404 ? Sl Oct30 0:00 /opt/google/chrome/chrome --type=service
2006 29788 0.0 0.0 938204 21080 ? Sl Oct30 0:00 /opt/google/chrome/chrome --type=ppapi-broker --channel=29273.5.113
Total VSZ: 5311116