vmstat (Virtual Memory Statistics) 시스템 모니터링 툴로서 메모리 뿐 아니라 IO 정보나 CPU 정보 등도 같이 표시해주고 있습니다. 특별한 권한을 필요치 않으며 이러한 정보들을 토대로 전반적인 시스템 모니터링이 가능합니다.
I/O 성능 관련 정보는 아래 정보로 확인 가능 합니다.
- si 스왑인 또는 스왑 영역에 쓰기 (KB 단위)
- so 스왑 아웃 또는 스왑 영역에서 읽기 (KB 단위)
- bi 블록인 또는 쓰기 동작 블록 (KB 단위)
- bo 블록 아웃 또는 읽기 동작 블록 (KB 단위)
- wa I/O 작업 완료를 기다리는 큐 부분
스왑인과 스왑 아웃 기능은 스왑 영역 및 데이터가 동일한 장치에 있는 경우 메모리 사용량을 표시하는데 특히 유용합니다. 또한 free, buff, cache 칼럼은 쓰기 저장 빈도를 확인하는데 유용합니다. cache 값이 갑자기 내려가고 free 값이 증가하는 경우 쓰기 저장 및 페이지 캐시 무효화가 시작되었음을 나타내는 것입니다. vmstat 분석에서 I/O 서브시스템이 성능 저하와 관련된 것으로 표시되는 경우 관리자는 iostat를 사용하여 I/O 장치를 지정할 수 있습니다.
사용법 : vmstat [options] [delay [count]]
사용 예시
vmstat 1 5
1 -> 통계 추출 시간 (1초에 한번씩 출력)
5 -> 통계 추출 회수 (5번만 출력)
* 첫번째 report는 부팅후 현재까지의 평균 데이터를 출력
vmstat -t 1 5
vmstat -a
vmstat -d
vmstat -D
vmstat -s
delay | The delay between updates in seconds. If no delay is specified, only one report is printed with the average values since boot. |
count | Number of updates. In absence of count, when delay is defined, default is infinite. |
-a, --active | Display active and inactive memory, given a 2.5.41 kernel or better. |
-f, --forks | The -f switch displays the number of forks since boot. This includes the fork, vfork, and clone system calls, and is equivalent to the total number of tasks created. Each process is represented by one or more tasks, depending on thread usage. This display does not repeat. |
-m, --slabs | Displays slabinfo. |
-n, --one-header | Display the header only once rather than periodically. |
-s, --stats | Displays a table of various event counters and memory statistics. This display does not repeat. |
-d, --disk | Report disk statistics (2.5.70 or above required). |
-D, --disk-sum | Report some summary statistics about disk activity. |
-p, --partition device | Detailed statistics about partition (2.5.70 or above required). |
-s, --unit character | Switches outputs between 1000 (k), 1024 (K), 1000000 (m), or 1048576 (M) bytes. Note this does not change the block (bi/bo) fields, which are always measured in blocks. |
-t, --timestamp | Append timestamp to each line |
-w, --wide | Wide output mode (useful for systems with higher amount of memory, where the default output mode suffers from unwanted column breakage). The output is wider than 80 characters per line. |
-V, --version | Display version information and exit. |
-h, --help | Display help and exit. |
Field 설명 (Virtual Memory)
Procs
r: 실행 가능한 프로세스의 수(실행 중이거나 런타임 대기 중).
b: I/O가 완료되기를 기다리는 Blocked된 프로세스의 수
Memory
--unit 옵션의 영향을 받습니다.
swpd: 사용된 스왑 메모리의 총량
free: 유휴 메모리의 총량
buff: 버퍼로 사용되는 메모리의 총량
cache: cache로 사용된 메모리 총량
inact: 비활성 메모리의 양. (-a 옵션)
active: 활성 메모리의 양. (-a 옵션)
Swap
--unit 옵션의 영향을 받습니다.
si: 디스크(/s)에서 스왑인된 메모리
so: 디스크로 스왑된 메모리 양(/s).
IO
bi: 블록 장치에서 수신된 블록(blocks/s).
bo: 블록 장치로 전송된 블록(blocks/s).
System
in: 클럭을 포함한 초당 인터럽트 수
cs: 초당 컨텍스트 전환 수
CPU
전체 CPU 자원에 대한 %로 처리됨.
us: kenel 이외의 코드가 실행된 시간 (user time, including nice time)
sy: kenel 코드가 실행된 시간. (system time)
id: IDLE 시간 (2.5.41 이전에는 IO-wait 시간이 포함되어 있었음)
wa: IO waiting 시간 (2.5.41 이전에는, idle 시간에 포함되어 있었음.)
st: Time stolen from a virtual machine. (2.6.11 이전에는 unknown)
FIELD DESCRIPTION FOR DISK MODE
Reads
total: Total reads completed successfully
merged: grouped reads (resulting in one I/O)
sectors: Sectors read successfully
ms: milliseconds spent reading
Writes
total: Total writes completed successfully
merged: grouped writes (resulting in one I/O)
sectors: Sectors written successfully
ms: milliseconds spent writing
IO
cur: I/O in progress
s: seconds spent for I/O
FIELD DESCRIPTION FOR DISK PARTITION MODE
reads: Total number of reads issued to this partition
read sectors: Total read sectors for partition
writes : Total number of writes issued to this partition
requested writes: Total number of write requests made for partition
FIELD DESCRIPTION FOR SLAB MODE
cache: Cache name
num: Number of currently active objects
total: Total number of available objects
size: Size of each object
pages: Number of pages with at least one active object
awk, gsub을 이용해서 vmstat의 값을 csv 형태로 저장 (0) | 2021.08.09 |
---|---|
[Linux] top 태스크 모니터링 (0) | 2021.08.09 |
[Linux] /proc/diskstats (0) | 2021.08.03 |
[Linux] PS - 프로세스 모니터링 (0) | 2021.07.30 |
[Linux] 디스크 입출력 모니터링을 위한 iostat (0) | 2021.07.30 |
댓글 영역