답변:
점을 감안 // 메모리 : 구글 크롬을 살해 , 지금 사용하고 년 3 월 2016 년 smem를 :
# detailed output, in kB apparently
smem -t -P chrom
# just the total PSS, with automatic unit:
smem -t -k -c pss -P chrom | tail -n 1
chrom
전체 경로 로보다 정확하게 교체 합니다. 예 /opt/google/chrome
또는/usr/lib64/chromium-browser
-P firefox
sudo smem
합니다.338.0M
. 너무 낮습니다. 시스템 모니터를 실행하면 11 개의 크롬 프로세스가 있고 각각 70MB와 400MB의 RAM을 사용하고 있음을 알 수 있습니다. 시스템 모니터가 잘못보고하는지 확실하지 않습니다.
chrome
대신에 사용 chorm
합니다.
smem
것을 사용하여 자체 출력에서 제외 할 수 있습니다 . 이것은 대괄호 자체가 아닌 대괄호 내부 를 일치시켜 작동 합니다. [c]hrome
smem -tkP '[c]hrome'
c
나는 그것이 최선의 해결책이 아니라고 확신하지만 여전히 나를 위해 일한다.
#!/bin/sh
ps aux | grep "[/]opt/google/chrome/chrome" | awk '{print $5}' | awk '{sum += $1 } END { print sum }'
ps aux | grep "[/]opt/google/chrome/chrome" | awk '{print $6}' | awk '{sum += $1 } END { print sum }'
참고 : [/]opt/google/chrome/chrome
시스템에 적합한 것으로 변경하십시오 ( 예 : Mac OS X를 사용하는 경우 grep "chrome"
).
awk
명령입니까? 즉, 왜 안 ... | awk '{sum += $6} END {print sum}'
됩니까?
ps aux | grep "/opt/google/chrome/chrome" | awk '{vsz += $5; rss += $6} END { print "vsz="vsz, "rss="rss }'
smem
최고 답변 당 사용하십시오 . FWIW이지만 별명으로는 너무 복잡하기 때문에 스크립트 또는 함수로 구현합니다.
이것을 실행 :
perl -e '$a="x"x1000000000;sleep(10);print"done\n"'
1.8GB RAM을 차지합니다. 따라서 이것을 실행할 것으로 예상됩니다.
perl -e '$a="x"x1000000000;fork;fork;fork;fork;sleep(10);print"done\n"'
16 배나 많이 걸릴 것입니다. 그러나 그렇지 않습니다.
이는 Linux 커널의 지능적인 기록 중 복사로 인한 것입니다. '$ a'의 내용이 변경되지 않기 때문에 '$ a'의 메모리를 공유 할 수 있습니다. 그러나 '$ a'가 변경 될 때까지만 공유 상태를 유지합니다. 이 경우 변경된 섹션이 복사되고 RAM을 차지하기 시작합니다.
커밋시 복사 오버 커밋 된 메모리 양을 측정 할 수 있는지 여부는 모르겠습니다. 그러나 적어도 이것은 당신의 과잉 계산을 설명합니다.
프로세스 합계를 빠르게 계산하십시오.
에 맥 :
chrome://system/
고 된 모든 항목으로 이동하여 선택하십시오.python
, CMD + V, 입력짜잔! "쉬운"... 🤓😅
PS-바로 가기 닌자 및 80/90 년대 격투 게임 플레이어는이 솔루션에 아무런 문제가 없습니다
이 USS 가능한 크로스 플랫폼입니다
USS (Unique Set Size)는 프로세스에 고유하고 프로세스가 지금 종료되면 해제되는 메모리입니다.
psutil> 4.0 Python 라이브러리가 액세스 할 수 있습니다
여기에 사용하겠습니다
sudo python3 -c "import psutil;print(sum(p.memory_full_info().uss for p in psutil.Process(pid=292).children())/1024/1024);"
여기서 pid = 292는 Activity Monitor의 대부분 외부 프로세스의 PID입니다.
크롬 / 크롬에는 작업 관리자가 있지만 사용 된 총 메모리를 제공하지는 않습니다. 작업 관리자의 "nerds에 대한 통계"링크는 chrome : // memory-redirect /로 연결되어 사용 된 총 메모리를 나열합니다. 이 숫자들에 대한 외부 검증과 명령 행에 대한 정보를 얻는 방법이 있으면 좋을 것입니다. 그러나 이것으로 더 많은 작업을 수행 할 수 있습니다.