Solaris에서의 프로세스 모니터링

Solaris에서의 프로세스 모니터링
$ prstat -t
NPROC USERNAME  SWAP   RSS MEMORY      TIME  CPU
164 oracle   5446M 5445M   8.3%  13:47:50 1.6%
52 root      576M  728M   1.1%  42:29:50 1.0%
 1 noaccess  300M  273M   0.4%   0:20:54 0.0%
 1 smmsp    2192K 9912K   0.0%   0:00:06 0.0%
 1 nagios    584K 4256K   0.0%   0:01:54 0.0%
 6 daemon   8360K   11M   0.0%   0:12:39 0.0%

Total: 225 processes, 839 lwps, load averages: 1.68, 1.58, 1.46

prstat위의 내용은 설치된 Solaris Box의 명령 출력입니다 Oracle 11g. 그러나 Solaris 시스템의 RAM이 64GBoracle 프로세스를 교체하는 것 같습니다 5.5 GB. 이것이 정상입니까? 보다 세부적인 정보를 얻는 방법에 대한 제안을 주시면 감사하겠습니다!

답변1

prstat교환을 다음과 같이 정의하십시오.

SWAP

    The sum of swap reservations of the associated processes
    for  each  user,  project,  task,  or  zone. This counts
    shared memory only once for each user, project, task, or
    zone.  Swap  is  reserved when anonymous memory is allo-
    cated or files are mapped private. The value of swap  is
    expressed  in kilobytes (K), megabytes (M), or gigabytes
    (G).

(에서Solaris 10의 prstat(1M), 보다오픈 솔라리스 prstat)

기본적으로 이는 값에 현재 액세스되지 않지만 프로세스 주소 공간에 매핑되는 메모리가 포함되어 있음을 의미합니다. 이러한 메모리는 나중에 사용될 수 있으므로 스왑 아웃될 수 있습니다(즉, 실제로 스왑 파티션에 기록됨). 따라서 Solaris prstat는 초기 매핑을 생성할 때 이를 SWAP으로 계산합니다.

이는 이 메모리 양이 실제로 SWAP 파티션에 기록되거나 기록되어야 한다는 의미는 아닙니다.

이러한 스왑 예약, 익명 메모리 및 매핑된 파일은가상 메모리솔라리스 시스템.

또한 사용하고 있다는 점에 유의하세요 -t. 따라서 예제에 표시된 값은 oracle 프로세스의 값이 아니라 user 하에서 실행되는 모든 프로세스의 집계된 값입니다 oracle.

특정 Solaris 포트를 사용하면 topSIZE(또는 VMEM) 및 RES(또는 RSS) 값과 같은 보다 유용한 정보를 제공할 수 있습니다. VMEM에는 모든 가상 메모리 페이지가 포함되며 RSS는 상주 크기입니다. 이렇게 하면 VMEM >= RSS 관계가 참이 됩니다(prstat RSS의 경우 > SWAP일 수 있습니다. 즉 RSS는 SWAP에 포함되지 않습니다).

실제 교환 활동에 관심이 있다면 다음과 같은 것을 사용할 수 있습니다 vmstat.

관련 정보