Ubuntu에서 특정 프로세스에 할당된 총 메모리를 찾는 방법은 무엇입니까?
답변1
노력하다:
pidof bash | xargs ps -o rss,sz,vsz
현재 쉘의 메모리 사용량을 찾으십시오 bash
(하나를 사용한다고 가정 bash
). bash
조사 중인 내용으로 변경하세요 . 특정 절차를 수행하는 경우 단독으로 사용하세요.
ps -o rss,sz,vsz <process id>
man
페이지 에서 :
RSS
: 상주 세트 크기, 작업에 사용되는 스왑되지 않은 물리적 메모리(KB)입니다.
SZ
: 프로세스 코어 이미지의 물리적 페이지 크기입니다. 여기에는 텍스트, 데이터 및 스택 공간이 포함됩니다.
VSZ
: 프로세스의 가상 메모리 크기(KiB(1024바이트 단위))입니다.
이 man
페이지에는 ps
옵션에 대해 가능한 모든 매개변수가 나열됩니다 -o
(선택할 수 있는 매개변수가 많습니다). 대신 대체 메모리 레이아웃을 보여주는 -o rss,sz
BSD 스타일 옵션(대시 없음)을 사용할 수 있습니다 .v
답변2
pmap
이를 사용하여 프로세스의 메모리 맵을 표시 할 수 있습니다 .
pmap -p pid
이에 대한 자세한 내용은 매뉴얼 페이지 man pmap
나 보기를 참조하세요.pmap(1): 프로세스의 메모리 맵을 보고합니다 - Linux 매뉴얼 페이지.
답변3
우분투에서 특정 프로세스에 할당된 총 메모리를 찾는 방법은 무엇입니까?
당신은 무엇인지 정의하지 않았습니다메모리 할당이는 실제로 프로세스에 대한 매우 복잡한 문제입니다(공유 메모리 매핑은 어떻습니까? 참조).매핑(2)POSIX 공유 메모리에 대해 자세히 알아보세요.shm_개요(7)다음 페이지에 대해 자세히 알아보세요.페이지 캐시열린 파일의 경우 등...)
파일 시스템을 사용할 수 있습니다(btw, , , 등. /proc/
이 파일 시스템 사용). 읽다ps
pmap
top
htop
공정(5)더 알아보기. 특히 pid가 1234인 프로세스의 경우 등을 /proc/1234/status
사용할 수 있습니다 . 이는 모두 보거나 읽는 데 사용할 수 있는 텍스트 의사 파일(파이프와 유사)입니다./proc/1234/statm
/proc/1234/maps
cat
하나씩일부 프로그램에서는). 그런데, 프로그램 내부에서 순차 읽기 등을 사용하고 있을 수도 있습니다 /proc/self
(의사 심볼릭 링크) ./proc/self/status
당신은 또한 볼 수 있습니다리눅스AteMyRam.