| HOME / 정보공유 / AIX 명령어 모음

vmstat
vmstat vmstat 명령 목적 가상 메모리 통계를 보고합니다. 구문
vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ PhysicalVolume ... ] [ Interval [ Count ] ]
설명
vmstat 명령은 커널 스레드, 가상 메모리, 디스크, 트랩 및 CPU 활동에 대한 통계를 보고합니다. vmstat 명령으로 작성된 보고서는 시스템 로드 활동의 균형을 유지하는 데 사용될 수 있습니다. 이 시스템 전반에 대한 통계(모든 프로세서 중에서의 통계)는 비율로 표시된 값의 평균 또는 합계로 계산됩니다.
vmstat 명령이 플래그없이 호출되는 경우, 보고서는 시스템을 시작한 이후 가상 메모리의 활동에 대한 요약을 포함합니다. -f 플래그를 지정하는 경우, vmstat 명령은 시스템을 시작한 이후 분기실행(fork) 수를 보고합니다. PhysicalVolume 매개변수는 물리적 볼륨의 이름을 지정합니다.
Interval 매개변수는 각 보고서 사이의 시간 간격을 초 단위로 지정합니다. 최초 보고서에는 시스템 시작 이래 시간에 대한 통계가 포함됩니다. 후속 보고서에는 이전 보고서 이후에 지정된 간격동안 수집된 통계가 있습니다. Interval 매개변수가 지정되어 있지 않으면 vmstat 명령이 단일 보고서를 생성한 후에 종료됩니다. Count 매개변수는 Interval 매개변수로만 지정될 수 있습니다. Count 매개변수를 지정하는 경우, 그 값은 작성할 보고서 수 및 별도의 초 수를 판별합니다. Count 매개변수 없이 Interval 매개변수를 지정하는 경우, 보고서는 끊임없이 작성됩니다. Count 매개변수에 0을 지정할 수 없습니다.
AIX 4.3.3 이상에서는 디스크 입출력을 대기하는 데 소요되는 CPU 시간(wio 시간)의 퍼센트를 계산하는 방법이 개선되었습니다. 운영 시스템의 AIX 4.3.2 및 이전 버전에서 사용된 방법은 특정 상황에서 SMP의 wio 시간이 부풀려져서 나타납니다.
AIX 4.3.2 이하의 버전에서 사용되는 방법은 다음과 같습니다. 각 프로세서의 각 클럭 인터럽트에서(프로세서마다 초당 100회) 4개의 범주(usr/sys/wio/idle) 중 최종 10ms의 시간을 지정하는 범주를 결정합니다. 클럭 인터럽트 시점에 usr 모드에서 CPU가 사용중이면 usr는 클럭 표시가 자신의 범주에 추가되도록 합니다. 클럭 인터럽트 시점에 CPU가 커널 모드에서 사용중이면 sys 범주가 표시(tick)를 가져옵니다. CPU를 사용하고 있지 않으면 진행 중인 I/O 디스크가 있는지 확인하기 위해 검사를 실행합니다. 디스크 입출력이 진행 중이면 wio 범주가 증가됩니다. 진행 중인 디스크 입출력이 없으며 CPU도 사용 중이 아니면 유휴 범주가 표시(tick)를 가져옵니다. I/O에서 대기하는 스레드의 수와 관계없이 wio로 분류되는 모든 유휴 CPU에 의한 결과로 wio 시간은 부풀려져서 나타납니다. 예를 들면 I/O를 수행하는 단지 하나의 스레드를 지닌 시스템은 자신이 보유한 CPU의 수와 관계없이 90 페센트를 초과하는 wio 시간을 보고할 수 있습니다. wio 시간은 sar(%wio), vmstat(wa) 및 iostat(% iowait) 명령에 의해 보고됩니다.
운영 시스템 AIX 4.3.3 이상에서 사용되는 방법은 다음과 같습니다. 운영 시스템 AIX 4.3.3의 변경사항은 단지 해당 CPU에서 미결의 I/O가 시작된 경우에 유휴 CPU를 wio로 표시하는 것입니다. 단지 몇몇 스레드만 I/O를 수행하고 있으며 그 이외의 경우에는 시스템이 유휴 상태이면, 이 방법을 사용하여 상당히 낮은 wio 시간을 보고할 수 있습니다. 예를 들면 4개의 CPU 및 하나의 I/O를 수행하는 스레드를 보유한 시스템은 최대 25 퍼센트의 wio 시간을 보고합니다. 12개의 CPU 및 하나의 I/O를 수행하는 스레드를 보유한 시스템은 최대 8 퍼센트의 wio 시간을 보고합니다. NFS 클라이언트 읽기/쓰기는 VMM을 통과하며, biods가 I/O 완료를 대기하면서 VMM에서 소요하는 시간은 이제 I/O 대기 시간으로 보고됩니다.
커널은 vmstat 명령이 knlist 서브루틴 및 /dev/kmem 의사 장치 드라이버를 사용하여 액세스하는 커널 스레드, 페이징 및 인터럽트 활동에 대한 통계를 유지합니다. 디스크 입력/출력 통계는 장치 드라이버가 유지합니다. 디스크의 평균 전송 속도는 활성 시간 및 전송 정보 수를 사용함으로써 판별됩니다. 드라이브가 보고 활동에 사용된 시간의 양으로 활동 시간 비율이 계산됩니다.
vmstat 명령에 의해 생성된 다음의 보고서 예에는 열 제목 및 이에 대한 설명이 포함되어 있습니다.
kthr: 샘플링 간격 동안 초당 변경되는 커널 스레드 상태.
r 수행 대기행렬에 있는 커널 스레드의 수.
b 대기행렬에서 대기 중인 커널 스레드의 수(대기 중인 자원, 대기 중인 입력/출력).
메모리: 가상 및 실제 메모리 사용에 대한 정보가상 페이지는 액세스될 경우에 활동 중인 것으로 간주됩니다. 1페이지는 4096바이트입니다.
avm 사용 중인 가상 페이지.
fre 사용 가능 리스트의 크기.
주: 실제 메모리의 많은 부분이 파일 시스템 데이터를 위한 캐쉬로 이용됩니다. 사용 가능 리스트 크기의 양이 적게 남는 일은 드뭅니다.
페이지: 페이지 부재 및 페이징 활동에 대한 정보. 이 정보는 간격에 지정된 기간 동안의 평균이며 초 당 단위 수로 주어집니다.
re 페이저 입력/출력 리스트.
pi 페이징 공간에서 들어오는 페이지.
po 페이징 공간으로 나가는 페이지.
fr 사용 가능한 페이지(페이지 교체).
sr 페이지 교체 알고리즘에 의해 스캔되는 페이지.
cy 페이지 교체 알고리즘에 의한 시간 주기.
결함: 샘플링 간격 동안 초당 평균 트랩 및 인터럽트 속도.
in 디바이스 인터럽트.
sy 시스템 호출.
cs 커널 스레드 문맥 전환.
Cpu : CPU 시간에서 사용 장애율 퍼센트.
us 사용자 시간.
sy 시스템 시간.
id CPU 유휴 시간.
wa 시스템이 미결의 디스크/NFS I/O 요청(들)을 보유하는 동안의 CPU 유휴 시간. 위의 세부 설명을 참조하십시오.
디스크 : 동일한 샘플 간격으로 발생한 지정된 물리적 볼륨으로의 초당 전송 횟수를 제공합니다. PhysicalVolume 매개변수는 네 개의 이름 중 하나를 지정하는 데 사용할 수 있습니다. 전송 통계는 지정된 순서에 따라 지정한 드라이브에 주어집니다. 이 계수는 물리적 장치로 보내는 요청의 수입니다. 읽혀지거나 쓰여진 데이터의 양은 포함되지 않습니다. 여러 개의 논리적 요청을 한 개의 물리적 요청으로 결합할 수 있습니다.
-I 플래그가 지정되면 다음 열의 변경과 함께 I/O 지향 열람이 표시됩니다.
kthr r 및 b 이외에 열 p도 표시됩니다.
p
초당 실제 물리적 I/O에서 대기하는 스레드의 수.
page 새로운 열 fi 및 fo가 re 및 cy 대신에 표시됩니다.
fi
초당 파일 페이지 인.
fo
초당 파일 페이지 아웃.
플래그
주: -f 및 -s 플래그 모두를 명령행에 입력할 수 있지만, 시스템은 지정된 첫 번째 플래그만 수용하고 두번째 플래그는 무시합니다.
-f 시스템 시작 이래 분기실행(fork)의 수를 보고합니다.
-i 시스템 시작 이래 각 장치가 실시한 인터럽트 수를 표시합니다.
-I 새로운 출력의 열, 페이지 헤딩의 열 re 및 cy 대신에 헤딩 kthr 아래의 p, 그리고 헤딩 페이지 아래의 열 fi 및 fo와 함께 I/O 지향 열람를 표시합니다.
-s 시스템 초기화 후의 페이징 이벤트의 절대 계수를 포함하는 합계 구조의 내용을 표준 출력에 씁니다. -s 옵션은 다른 vmstat 명령 옵션과 배타적입니다. 이 이벤트는 다음과 같이 설명됩니다.
주소 변환 결함
주소 변환 페이지 부재가 발생할 때마다 증가됩니다. I/O가 페이지 부재 해결에 필요할 수도 그렇지 않을 수도 있습니다. 기억장치 보호 페이지 부재(잠금 실수)는 이 수에 포함되지 않습니다.
페이지 인
가상 메모리 관리 프로그램이 각 페이지를 읽을 때마다 증가합니다. 페이지 공간 및 파일 공간에서 입력되는 페이지 수 만큼 계수가 증가됩니다. 페이지 아웃 통계와 함께, 가상 메모리 관리자가 시작한 실제 I/O 총계를 나타냅니다.
페이지 아웃
가상 메모리 관리 프로그램이 각 페이지를 출력할 때마다 증가합니다. 페이지 공간으로 나가는 페이지 수와 파일 공간으로 나가는 페이지 수만큼 계수가 증가합니다. 페이지 인 통계와 함께, 가상 메모리 관리 프로그램이 시작한 실제 I/O 총계를 표현합니다.
페이징 공간 페이지 인
페이징 공간에서만 들어온 VMM 개시가 각 페이지에 대해 증가합니다.
페이징 공간 페이지 아웃
페이징 공간으로만 나간 VMM 개시가 각 페이지 출력에 대해 증가합니다.
총 교정수
주소 변환 결함이 새로운 I/O 요청 없이도 해결될 때 증가됩니다. VMM에서 이전에 페이지를 요청했지만 I/O가 아직 완료되지 않았거나 VMM의 우선 읽기 알고리즘으로 페이지를 먼저 보냈지만 결함이 있는 세그먼트에서 숨었을 경우 또는 페이지가 사용 가능 리스트에 있지만 아직 재사용되지는 않았을 경우, 이러한 증가가 일어납니다.
제로 채움의 페이지 부재
페이지 부재가 작업 영역에 대한 것이고 프레임 및 제로 채움으로 만족될 수 있는 경우에 증가됩니다.
실행 가능 채움 페이지 부재
각 페이지 부재 명령마다 증가됩니다.
시계가 검사한 페이지
VMM은 시계 알고리즘을 사용하여 의사 lru(최근에 한 번 이상 사용된) 페이지 계획을 구현합니다. 시계가 검사함에 따라 페이지가 낡게 됩니다. 이 계수는 시계가 검사한 각 페이지에 대해 증가합니다.
시계 바늘의 회전
VMM 시계의 각 회전마다 증가됩니다(즉, 메모리를 완벽하게 스캔한 후에).
클럭에 의해 마련된 페이지
시계 알고리즘이 실제 메모리에서 사용 가능하도록 선택한 각 페이지에 대해 증가됩니다.
역 추적
이전의 페이지 부재를 해결하는 동안 발생한 각 페이지에 대해 증가됩니다(새로운 페이지 부재가 먼저 해결되어야 역 추적할 수 있습니다).
잠금 실수
VMM은 페이지에 대한 주소 지정 능력을 제거하여 동시에 강제 잠금을 수행합니다. 페이지 부재가 잠금 실수로 발생할 수 있으며 잠금 실수가 발생할 때마다 계수는 증가됩니다.
사용 가능한 프레임 대기
사용 가능한 프레임이 축적되는 동안 VMM에 의해 처리가 대기될 때마다 증가됩니다.
확장 XPT 대기
액세스하고 있는 세그먼트 확정이 진행 중에 있어 VMM에서 처리를 대기할 때 마다 증가됩니다.
보류 중인 I/O 대기
페이지 인 I/O을 완료하기 위해 VMM에서 처리를 대기할 때마다 증가됩니다.
시작 I/O
VMM이 시작한 I/O 요청을 읽거나 쓸 때마다 증가됩니다. 이 계수는 페이지 인과 페이지 아웃의 합계와 같아야 합니다.
io 완료
각 VMM I/O 요청이 완료될 때마다 증가됩니다.
CPU 문맥 전환
CPU 문맥이 전환(새로운 프로세스의 작업지정될 때마다 증가됩니다.
장치 인터럽트
각 하드웨어 인터럽트마다 증가됩니다.
소프트웨어 인터럽트
각 소프트웨어 인터럽트마다 증가됩니다. 소프트웨어 인터럽트는 상태를 저장하고 서비스 루틴으로 분기하는 하드웨어 인터럽트와 비슷한 기계 명령어입니다. 시스템 호출은 시스템 호출 처리기 루틴으로 분기되는 소프트웨어 인터럽트 명령어로 구현됩니다.
traps
운영 시스템에 의해 유지되지 않습니다.
syscalls
각 시스템 호출마다 증가됩니다.
-t vmstat 출력의 각 행 다음에 시간소인을 출력합니다. 시간소인은 HH:MM:SS 형식으로 표시됩니다.
주: -f, -s 또는 -i 플래그가 지정되면 시간소인이 인쇄되지 않습니다.
예제
부트 이후의 통계에 대한 요약을 표시하려면 다음을 입력하십시오.
vmstat
2초 간격으로 5개의 요약을 표시하려면 다음을 입력하십시오.
vmstat 2 5
맨 처음 요약에는 부트를 한 이후의 통계를 포함하고 있습니다.
논리적 디스크 scdisk13 및 scdisk14에 대한 통계를 포함하여 부트 이후의 통계에 대한 요약을 표시하려면 다음을 입력하십시오.
vmstat scdisk13 scdisk14
fork통계를 표시하려면 다음을 입력하십시오.
vmstat -f
다양한 이벤트의 계수를 표시하려면 다음을 입력하십시오.
vmstat -s
vmstat 출력의 각 열 다음에 시간소인을 표시하려면 다음을 입력하십시오.
vmstat -t
열의 대체 세트와 함께 새로운 I/O 지향 열람을 표시하려면 다음을 입력하십시오.
vmstat -I
파일
/unix 커널 부트 이미지에 대한 기호 링크.
/usr/bin/vmstat vmstat 명령이 포함되어 있습니다.
관련 정보
iostat 명령.
knlist 서브루틴.
/dev/kmem 특수 파일.