vmstat (virtual memory stat)
현재 메모의 상태 출력
시스템 전반적인 값(CPU/메모리/IO)을 top보다 요약된 정보로 쉽게 확인할 수 있음
옵션
-a (active) | buffer와 cache대신 active/inactivate로 메모리사용량 결과 출력 |
-t (timestamp) | 날짜 + 시간을 출력 |
-w (wide) | 출력결과의 너비를 맞춤 |
-d (disk) | 디스크 상태조회 |
[간격] [반복횟수] | vmstat 2 5 : 2초간격으로 5번 출력 |
해석
procs 필드
r (run) | 현재 실행중인 프로세스 중 (cpu에 접근대기중인 프로세스) |
b (block) | io자원을 할당받지 못해서 블록된 프로세스 수 |
memory필드
swpd | 사용된 가상 메모리 용량 |
free | 사용가능한 여유메모리 용량 |
buff | 버퍼에 사용된 메모리 용량 |
cache | 페이지캐시에 사용된 메모리 용량 |
swap 필드
si (swap-in) | swap-in 된 메모리양 |
so (swap-out) | swap-out 된 메모리양 (지속적으로 발생하면 메모리 부족) |
io 필드
bi (block input) | 블록 디바이스로부터 입력된 블록수 |
bo (block output) | 블록 디바이스로부터 쓰기된 블록수 |
system 필드
in (interrupts) | 초당 발생할 interrupts의 수 |
cs (context switches) | 초당 발생한 context switchs(문맥교환) 수 |
CPU필드
us (user) | CPU가 user level의 코드를 실행한 시간(단위%) -> 사용자 영역에서 사용하는 CPU의 비율 us의 CPU가 높을 경우 : OS명령어로 알기 어렵다. |
sy (system) | CPU가 system level의 코드를 실행한 시간(단위%) -> 시스템콜 호출에 의해 사용되는 CPU비율 sy의 CPU가 높을 경우 : truss 명령어로 어떤 시스템 콜이 수행중인지 확인가능 |
id (idel) | 사용가능한 CPU의 시간율 id = 100 - (us+sy) |
wa (wait) | 디스크 혹은 기타 io작업으로 인해 CPU가 대기하는 시간비율 |
예시
1. [간격]으로 [횟수] 만큼 출력 : vmstat 2 5
2. active/inactivate로 표시 : vmstat -a
active : 사용 중인 메모리양
inact : 사용되지 않은 메모리 양
3. 시간까지 표시해서 출력 : vmstat -t
4. 디스크 사용량 : vmstat -d
디스크명 : xvda
reads 필드 / wirtes 필드
total | 성공한 모든 읽기/쓰기 작업개수 |
merged | 하나의 io로 묶은 읽기/쓰기 작업수 |
sectors | 성공적으로 읽은/쓴 섹터수 |
ms | 읽기/쓰기 작업을 하는데 소요된 시간(밀리초) |
io필드
cur | 현재 수행중인 io수 |
sec | io를 수행하는데 소요된 시간(초) |
3) mpstat
CPU time을 CPU별로 측정
CPU별로 불균형한 상태 확인
4) pidstat
TOP이랑 비슷하지만 지속적으로 변화하는 상황
5) sar (Systemc Activity Reprot)
+kill 명령어
프로세스 종료 명령어
사용포맷 : kill [옵션명 or 옵션번호] PID
그 중에서
옵션번호 9 : 프로세스 죽이기 (SIGKILL)
옵션번호 15 : 소프트웨어 안전종료(SIGTERM)
ex)
kill -9 PID : 프로세스 번호로 강제종료 --> 작업중인 모든 데이터를 저장하지 않고 종료
kill -15 PID : 프로세스 번호로 안전종료 --> 메모리상에 있는 데이터 저장한 후 종료
https://waspro.tistory.com/155
https://bigsun84.tistory.com/355
https://b.luavis.kr/server/linux-performance-analysis
'🌱 Computer Science > OS' 카테고리의 다른 글
[Linux 명령어] netstat : 네트워크 상태확인 (0) | 2020.04.22 |
---|---|
[Linux 명령어] df : 전체 디스크 , du : 각각 디스크 용량확인 (0) | 2020.04.21 |
[Linux 명령어] top : 시스템 실시간 모니터링(CPU/메모리) (0) | 2020.04.20 |
[Linux 명령어] btmp (부팅로그) / dmesg(시스템로그) / lastlog (접속로그) / wtmp (로그인로그) (0) | 2020.04.18 |
[하드웨어기초] CPU와 메모리 (2) | 2020.04.15 |
[Linux 명령어] free 명령어 : 메모리 상태확인 (/proc/meminfo) (0) | 2020.03.31 |