본문 바로가기
아이티 공부/리눅스

vmstat 명령어에 시간 넣어서 출력하기 및 vmstat 결과 설명

by Klero 2015. 6. 23.

1. vmstat 명령어로 나오는 결과를 백그라운드로 실행하여 aaa.txt 파일에 저장

# vmstat -a -n 3 | awk'{now=strftime("%F%T"); print now,"",$0}' > aaa.txt&



2. 백그라운드로 잘 실행되는지 확인

# jobs 


3. 터미널 화면에 출력

# vmstat -a -n 3 | awk'{now=strftime("%F%T"); print now,"",$0}' 





4. 백그라운드로 실행되는 작업 취소하는 방법


# jobs 명령어로 백그라운드로 실행되는 작업 확인

# fg %1 명령어로 백그라운드로 실행되는 작업 포그라운드로 실행


키보드 ctrl + c 키를 눌러 취소


# jobs 명령어로 백그라운드로 실행되었던 작업이 취소되었는지 확






procs 필드

- r : 실행을 위해 기다리고 있는 프로세스의 수

- b : 계속 유휴 상태인 프로세스의 수 (I/O 처리를 하는 동안 블록 처리된 프로세스의 수)

 

memory 필드(단위 : Kbyte)

- swpd : 사용하고 있는 가상 메모리 크기

- free : 사용가능한 여유 메모리 크기

- buff : 버퍼로 사용되는 메모리의 크기

- cache : 캐시로 사용되고 있는 메모리의 크기


swap 필드(단위 : Kbyte)

- si : swap in (스왑 아웃된 내용(프로그램)이 필요해 다시 불러들이는 것)

- so : swap out (물리적인 메모리 용량이 모자를 경우 물리적 메모리를 해제하는 것)

-> 즉 Swap Out은 메모리가 부족할 때 메모리 사용 빈도가 적은 프로그램을 통째로 Swap Space로 

내보내는 것을 의미한다. Swap Out 당한 프로그램을 다시 메모리에 올리는 것은 시간이 소요된다.

그래서 매모리가 많이 부족한 윈도우에서 사용 빈도가 적은 프로그램을 실행했을 때

시간이 오래 걸리는 것은 Swap Out 당한 프로그램을 다시 Swap In하면서 시간이 소요되기 때문이다.


io, 입출력 필(단위 : blocks/s)

- bi : 초당 블록 디바이스로 보내는 블록 수

- bo : 초당 블록 디바이스로 받은 블록 수


system 필드

- in : 초당 인터럽트 되는 양

- cs : 초당 발생한 문맥교환 수(context switch)


cpu 필드(단위 %)

- us : 사용자의 CPU 사용 시간 비율

- sy : 시스템의 CPU 사용 시간 비율

- id : CPU가 아무런 작업을 수행하지 않은 시간을 의미

- wa : 입출력 대시 시간



 

댓글