[vmstat]
- Linux/Unix 기반 OS에서 시스템의 전반적인 성능을 모니터링하기 위해 사용되는 명령어
- process, memory, Swap(paging), block IO, trap, disk, cpu activity 에 대한 통계를 보고한다.
- VM 이라고해서 Virtual Machine 을 생각했지만, virtual memory 이며 물리서버 및 가상서버 (리눅스, 유닉스) 모두에서 사용할 수 있는 커맨드다.
[기본 사용 옵션]
vmstat [options] [delay [count]]
ex)
$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 350464 521556 48 819884 0 1 5 8 77 32 1 1 98 0 0
0 0 350464 521360 48 819884 0 0 0 0 238 435 1 2 98 0 0
0 0 350464 521464 48 819892 0 0 0 0 243 452 1 2 97 0 0
0 0 350464 521464 48 819892 0 0 0 0 193 385 1 1 99 0 0
0 0 350464 521508 48 819876 0 0 0 0 295 517 2 5 94 0 0
[동작방식]
첫번째 라인 출력
- 시스템 부팅 이후의 평균 통계를 보여준다.
추가 라인 출력
- delay (샘플링 주기) 동안 수집되는 데이터를 기반으로 출력한다.
ex. 2초 간격으로 5회
[필드 설명]
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
procs | r - 실행가능한 프로세스의 갯수 (런타임 동안 waiting 이거나 running 인 프로세스 포함) - 주로 CPU 부하 확인 시 용이 - 값이 높으면 CPU 부하 의심 b - I/O 작업이 완료되기를 기다리는 프로세스의 개수(Block 당한 프로세스) - 주로 Disk I/O 또는 네트워크 작업 등으로 인해 대기 중인 프로세스들 - 값이 높으면 I/O 리소스에 대한 프로세스간 경쟁이 심함 의심 |
memory |
swpd - swap memory로 사용 중인 가상 메모리의 amount free - 현재 사용 가능한 여유 메모리의 amount buff - buffer 로 사용 중인 메모리의 amount - 주로 Filesystem 메타데이터와 관련된 I/O 작업을 위해 Kernel 이 사용하는 영역 cache - page cache 로 사용 중인 메모리의 amount - 파일 I/O 성능의 향상을 위해 Kernel 이 사용하는 영역으로, 필요 시에는 다른 프로세스가 사용 가능함 inact ( -a ) - 비활성상태인 메모리의 amount - 이전에 사용되었지만 현재는 사용되지 않는 영역, 필요 시에는 다른 용도로 재사용 가능함 active ( -a ) - 현재 활발하게 활성상태인 메모리의 amount - 자주 접근되는 데이터가 저장되는 영역이며, 옵션으로 -a 를 사용할 때만 출력된다 |
swap | si - 초당 (/s) 디스크에서 메모리로 Swapped IN 된 메모리의 amount - 높은 경우 Swap space 에서 데이터를 자주 읽어오고 있다는 뜻 so - 초당 (/s) 메모리에서 디스크로 Swapped OUT 된 메모리의 amount - Physical memory 가 부족하여 일부 데이터를 디스크의 Swap Space를 빌려 쓰기 위해 이동시키는 것을 뜻함 - 높은 경우 시스템의 Physical memory 가 부족하여 자주 Swapping 을 하고 있음을 뜻함 |
io | bi - 초당 (/s) Block 디바이스로부터 받은 블록의 수 - 디스크에서 메모리로 쓰여진 데이터의 amount 를 뜻함 - 파일을 읽거나 메모리에 mapping 할 때, 값이 증가할 수 있음 bo - 초당 (/s) Block 디바이스로 보낸 블록의 수 - 메모리에서 디스크로 쓰여진 데이터의 amount 를 뜻함 - 파일을 쓰거나 데이터를 디스크에 저장할 때, 값이 증가할 수 있음 *Block Device 란? - 주로 HDD, SSD, CD-ROM 등과 같은 '저장 장치' 를 뜻한다. - 저장 장치들은 데이터를 고정된 크기의 Block 단위로 Read, Write 하며 일반적으로 512byte 또는 4096byte 크기의 Block을 사용한다. |
system | in - 초당 (/s) 발생한 interrupt 의 수 cs - 초당 (/s) 발생한 Context Switch 의 수 - Context Switch 는 CPU 가 한 프로세스에서 다른 프로세스로 전환될 때 발생한다. ex.1 프로세스의 시간 할당량이 만료되었을 때 발생 ex.2 더 높은 prority 를 가진 프로세스가 실행 준비 상태가 되었을 때 발생 ex.3 프로세스가 I/O 작업을 기다리며 자발적으로 CPU를 양보할 때 발생 |
cpu | us - 커널 코드를 제외한 코드를 실행하는 데 소요된 시간 (User TIme) - 사용자 프로세스 실행 시간과 nice 값이 조종된 프로세스의 실행 시간을 포함한다. sy - 커널 코드를 실행하는 데 소요된 시간 (System TIme) - 시스템 Call 처리나 Interrupt 서비스 등 Kernel 작업에 사용된 시간 id - CPU 가 Idle 상태로 있었던 시간 (Idle TIme) wa - I/O 작업이 완료되기를 기다리는 데 소요된 시간 st - 가상화환경에서 하이퍼바이저에 의해 다른 가상 머신에 할당된 시간 |
'[시스템]Linux&Unix' 카테고리의 다른 글
Logical Volume Manager ? (LVM 구성 순서) (0) | 2025.02.05 |
---|---|
Vmware - RDY 란? (1) | 2025.01.03 |
[AIX] 백그라운드 자동 실행 설정 - /etc/inittab (0) | 2024.12.12 |
[ssh] ssh 클라이언트에서 게스트 서버로 접속이 안되는 경우(No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) (0) | 2024.10.10 |
[RHEL8.0] You can use subscription-manager to register. (0) | 2024.10.02 |
[vmstat]
- Linux/Unix 기반 OS에서 시스템의 전반적인 성능을 모니터링하기 위해 사용되는 명령어
- process, memory, Swap(paging), block IO, trap, disk, cpu activity 에 대한 통계를 보고한다.
- VM 이라고해서 Virtual Machine 을 생각했지만, virtual memory 이며 물리서버 및 가상서버 (리눅스, 유닉스) 모두에서 사용할 수 있는 커맨드다.
[기본 사용 옵션]
vmstat [options] [delay [count]]
ex)
$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 350464 521556 48 819884 0 1 5 8 77 32 1 1 98 0 0
0 0 350464 521360 48 819884 0 0 0 0 238 435 1 2 98 0 0
0 0 350464 521464 48 819892 0 0 0 0 243 452 1 2 97 0 0
0 0 350464 521464 48 819892 0 0 0 0 193 385 1 1 99 0 0
0 0 350464 521508 48 819876 0 0 0 0 295 517 2 5 94 0 0
[동작방식]
첫번째 라인 출력
- 시스템 부팅 이후의 평균 통계를 보여준다.
추가 라인 출력
- delay (샘플링 주기) 동안 수집되는 데이터를 기반으로 출력한다.
ex. 2초 간격으로 5회
[필드 설명]
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
procs | r - 실행가능한 프로세스의 갯수 (런타임 동안 waiting 이거나 running 인 프로세스 포함) - 주로 CPU 부하 확인 시 용이 - 값이 높으면 CPU 부하 의심 b - I/O 작업이 완료되기를 기다리는 프로세스의 개수(Block 당한 프로세스) - 주로 Disk I/O 또는 네트워크 작업 등으로 인해 대기 중인 프로세스들 - 값이 높으면 I/O 리소스에 대한 프로세스간 경쟁이 심함 의심 |
memory |
swpd - swap memory로 사용 중인 가상 메모리의 amount free - 현재 사용 가능한 여유 메모리의 amount buff - buffer 로 사용 중인 메모리의 amount - 주로 Filesystem 메타데이터와 관련된 I/O 작업을 위해 Kernel 이 사용하는 영역 cache - page cache 로 사용 중인 메모리의 amount - 파일 I/O 성능의 향상을 위해 Kernel 이 사용하는 영역으로, 필요 시에는 다른 프로세스가 사용 가능함 inact ( -a ) - 비활성상태인 메모리의 amount - 이전에 사용되었지만 현재는 사용되지 않는 영역, 필요 시에는 다른 용도로 재사용 가능함 active ( -a ) - 현재 활발하게 활성상태인 메모리의 amount - 자주 접근되는 데이터가 저장되는 영역이며, 옵션으로 -a 를 사용할 때만 출력된다 |
swap | si - 초당 (/s) 디스크에서 메모리로 Swapped IN 된 메모리의 amount - 높은 경우 Swap space 에서 데이터를 자주 읽어오고 있다는 뜻 so - 초당 (/s) 메모리에서 디스크로 Swapped OUT 된 메모리의 amount - Physical memory 가 부족하여 일부 데이터를 디스크의 Swap Space를 빌려 쓰기 위해 이동시키는 것을 뜻함 - 높은 경우 시스템의 Physical memory 가 부족하여 자주 Swapping 을 하고 있음을 뜻함 |
io | bi - 초당 (/s) Block 디바이스로부터 받은 블록의 수 - 디스크에서 메모리로 쓰여진 데이터의 amount 를 뜻함 - 파일을 읽거나 메모리에 mapping 할 때, 값이 증가할 수 있음 bo - 초당 (/s) Block 디바이스로 보낸 블록의 수 - 메모리에서 디스크로 쓰여진 데이터의 amount 를 뜻함 - 파일을 쓰거나 데이터를 디스크에 저장할 때, 값이 증가할 수 있음 *Block Device 란? - 주로 HDD, SSD, CD-ROM 등과 같은 '저장 장치' 를 뜻한다. - 저장 장치들은 데이터를 고정된 크기의 Block 단위로 Read, Write 하며 일반적으로 512byte 또는 4096byte 크기의 Block을 사용한다. |
system | in - 초당 (/s) 발생한 interrupt 의 수 cs - 초당 (/s) 발생한 Context Switch 의 수 - Context Switch 는 CPU 가 한 프로세스에서 다른 프로세스로 전환될 때 발생한다. ex.1 프로세스의 시간 할당량이 만료되었을 때 발생 ex.2 더 높은 prority 를 가진 프로세스가 실행 준비 상태가 되었을 때 발생 ex.3 프로세스가 I/O 작업을 기다리며 자발적으로 CPU를 양보할 때 발생 |
cpu | us - 커널 코드를 제외한 코드를 실행하는 데 소요된 시간 (User TIme) - 사용자 프로세스 실행 시간과 nice 값이 조종된 프로세스의 실행 시간을 포함한다. sy - 커널 코드를 실행하는 데 소요된 시간 (System TIme) - 시스템 Call 처리나 Interrupt 서비스 등 Kernel 작업에 사용된 시간 id - CPU 가 Idle 상태로 있었던 시간 (Idle TIme) wa - I/O 작업이 완료되기를 기다리는 데 소요된 시간 st - 가상화환경에서 하이퍼바이저에 의해 다른 가상 머신에 할당된 시간 |
'[시스템]Linux&Unix' 카테고리의 다른 글
Logical Volume Manager ? (LVM 구성 순서) (0) | 2025.02.05 |
---|---|
Vmware - RDY 란? (1) | 2025.01.03 |
[AIX] 백그라운드 자동 실행 설정 - /etc/inittab (0) | 2024.12.12 |
[ssh] ssh 클라이언트에서 게스트 서버로 접속이 안되는 경우(No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) (0) | 2024.10.10 |
[RHEL8.0] You can use subscription-manager to register. (0) | 2024.10.02 |