$ 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은 64GB
Oracle 프로세스가 교체되는 것 같습니다 5.5 GB
. 정상입니까? 더 자세한 정보를 얻는 방법에 대한 권장 사항을 알려주시면 감사하겠습니다!
답변1
prstat
SWAP을 다음과 같이 정의합니다.
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 포트를 사용하면 top
SIZE(또는 VMEM) 및 RES(또는 RSS) 값과 같은 보다 유용한 정보를 얻을 수 있습니다. VMEM에는 모든 가상 메모리 페이지가 포함되며 RSS는 상주 크기입니다. 이를 통해 VMEM >= RSS 관계는 참입니다(prstat RSS의 경우 > SWAP일 수 있음, 즉 RSS는 SWAP에 포함되지 않음).
실제 스왑 활동에 관심이 있는 경우 다음과 같은 것을 사용할 수 있습니다 vmstat
.