모든 메모리를 차지하는 프로세스를 찾는 방법은 무엇입니까?

모든 메모리를 차지하는 프로세스를 찾는 방법은 무엇입니까?

CPU 사용량에 대한 아이디어를 얻기 위해 top과 같은 것을 찾고 있습니다. 이를 수행할 수 있는 명령줄 인수가 top에 있습니까? 현재 메모리가 꽉 차서 "man top"도 메모리 부족으로 실패합니다. :)

답변1

내부에서 top다음을 시도해 볼 수 있습니다.

  • SHIFT+를 누르세요f
  • %MEM에 해당하는 문자를 누르세요.
  • ~에 따르면ENTER

다음을 시도해 볼 수도 있습니다.

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

그러면 메모리 사용량 기준 상위 5개 프로세스가 표시됩니다.

답변2

설치했다면 실행한 후 , ( ) 를 눌러 메모리별로 정렬 htop 할 수 있다는 점이 마음에 듭니다.f6down arrowMEM%enter

답변3

Solaris에서 필요한 명령은 다음과 같습니다.

prstat -a -s size

프로세스 이미지 크기의 내림차순으로 모든 프로세스가 나열됩니다. 후자는 상주하는 실제 메모리 사용량이 아니라 운영 체제에서 프로세스에 할당한 메모리를 기반으로 한다는 점에 유의하세요.

아마도 Solaris에 사용할 수 있는 "최상위" 버전이 있지만 이는 표준 설치의 일부가 아닙니다.

답변4

이 명령은 가장 많은 메모리를 소비하는 프로세스를 식별합니다.

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"

관련 정보