본문 바로가기

리눅스/명령어

[메모리 상태 확인 - vmstat]

vmstat


설명

현재 메모리의 상태를 출력함.

프로세스 정보 , 메모리 사용량 , 스왑 , IO 상태 및 CPU 활동 상황에 대한 정보를 보여준다.


명령어

vmstat [옵션]

vmstat [시간] [반복]

vmstat 5 5 (5초 간격으로 1줄씩 5번 생성)


필드

[root@localhost ~]# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 1  0      0 345316  39780 259932    0    0    13     5   53  108  1  0 99  0  0


① procs 필드


② memory 필드


③ swap 필드


④ I/O 필드


⑤ system 필드


⑥ CPU 필드


옵션

1) vmstat -a

[root@localhost ~]# vmstat -a

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free  inact     active   si   so    bi    bo   in   cs us sy id wa st

0  0      0 333036 209580 310260    0    0    12     5   52  105  1  0 99  0  0

buffer와 cache 대신 active 와 inactive 메모리 사용량에 대한 결과를 출력한다.

inact : 사용되지 않은 메모리의 양

active : 사용중인 메모리의 양


2) vmstat -d

[root@localhost ~]# vmstat -d

disk- ------------reads------------ ------------writes----------- -----IO------

       total merged sectors      ms  total merged sectors      ms    cur    sec

ram0       0      0       0       0      0      0       0       0      0      0

- 생략 -

loop7      0      0       0       0      0      0       0       0      0      0

sr0        0      0       0       0      0      0       0       0      0      0

sda    10864   5487  541394   55154   6140  14695  166258   47768      0     29

sdb      874    941    4334     785     24     17     200      47      0      0

sdc     1889    891   12894    1390    146   7908   64308     847      0      1

디스크의 사용량을 보여준다.
* Reads (읽기)  
  total : 성공한 모든 읽기 작업 개수
  merged : 하나의 I/O로 묶은 읽기 작업 수
  sectors : 성공적으로 읽은 섹터 수
  ms : 읽기 작업을 하는데 소요된 시간(밀리초)


* Wrties (쓰기)

  total : 성공한 모든 쓰기 작업 개수
  merged : 하나의 I/O로 묽은 쓰기 작업 수
  sectors : 성공적으로 쓴 섹터 수
  ms : 쓰기 작업을 하는데 소요된 시간(밀리초)


* I/O (입출력)

  cur : 현재 수행 중인 I/O 수
  sec : I/O를 수행하는데 소요된 시간(초)



응용

1) crontab 

30 23 * * * vmstat 1 10 >> /var/log/check.log

시스템의 프로세스 정보 , 메모리 사용량 , IO 상태 , CPU사용률 등의 정보를 vmstat 명령어를 사용하여

매일 23시 30분에 1초단위로 10회씩 check.log 파일에 누적저장 한다.


'리눅스 > 명령어' 카테고리의 다른 글

[압축관련 - tar]  (0) 2017.11.08
[시스템 모니터링 - TOP]  (0) 2017.11.08
[백그라운드 프로세스 - nohup]  (0) 2017.11.05
[프로세스 우선순위 - nice , renice]  (0) 2017.11.05
[파일 시스템 검사 - fsck]  (0) 2017.11.03