솔라리스 프로세스 메모리 사용량을 측정하는 방법은 무엇입니까? 방법? 할당 된 총 주소

솔라리스 프로세스가 얼마나 많은 메모리를 소비하는지 확인하는 방법? 할당 된 총 주소 공간과 RAM에 상주하는 양을 모두 원합니다.

awk 스크립트로 pmap 출력을 합산하려고 시도했지만 추악한 해킹이었습니다. 스크립트를 작성하는 더 좋은 방법이 있습니까?



답변

  1. prstat -s rss

    ‘-s’는 prstat 출력을 rss 열을 기준으로 정렬합니다 (다른 열에 대해서는 매뉴얼 페이지 참조). 또한 사용자 별 누적에 대해 ‘-a’옵션을 시도하십시오.

  2. ps -eo pid,pmem,vsz,rss,comm | sort
    -rnk2 | head

    상위 10 개 RAM 소비자. ‘-o pmem’은 상주 메모리의 백분율, 즉 프로세스에서 사용 된 RAM을 표시합니다.

  3. ls -lh /proc/{pid}/as

    프로세스의 전체 주소 공간 (vsz)을 표시하는 쉬운 방법입니다. pgrep과 함께 사용하여 사용자, 패턴 등으로 누적 할 수 있습니다. 예 :

    for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
    

답변

글쎄, 일부 매뉴얼 페이지를 읽은 후 다음을 얻었습니다.

ps -o vsz -p $PID | tail -1

매우 간단합니다. 상주 규모의 형식은 rss입니다.


답변

prstat

아니면 dtrace-script일까요?


답변

스크립트에서이 출력의 변형을 사용합니다.

# prstat -Z 1 1 | tail -3
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE
220       56 1057M  413M   0.3%   1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06


답변

Zenoss 커뮤니티 관리자로서의 $ .02 …

Zenoss는 모든 네트워크 장치 및 서버의 상태와 서버에서 실행중인 프로세스를 모니터링 할 수 있습니다. 커뮤니티 회원 중 한 명이 최근 SNMP를 통해 Solaris 용 프로세스 모니터링을 제출했습니다. http://community.zenoss.org/docs/DOC-5882


답변