kthr | memory | page | disk | faults | cpu | ||||||||||||||||
r | b | w | swap | free | re | mf | pi | po | fr | de | sr | s1 | s3 | s9 | sd | in | sy | cs | us | sy | id |
0 | 0 | 0 | 22638296 | 8172808 | 1241 | 405 | 24149 | 0 | 0 | 0 | 0 | 2 | 53 | 0 | 26 | 2152 | 9484 | 6396 | 7 | 9 | 83 |
0 | 0 | 0 | 21628528 | 7539648 | 1627 | 339 | 97720 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 67 | 2661 | 2880 | 5891 | 2 | 16 | 82 |
0 | 1 | 0 | 21621808 | 7517128 | 1498 | 1111 | 86065 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 53 | 2402 | 4554 | 5399 | 4 | 22 | 75 |
0 | 0 | 0 | 21609336 | 7517464 | 1580 | 2496 | 48768 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 36 | 1712 | 13020 | 5071 | 5 | 21 | 73 |
0 | 0 | 0 | 21613832 | 7526624 | 1418 | 1474 | 45617 | 0 | 0 | 0 | 0 | 197 | 0 | 0 | 41 | 1834 | 11530 | 4156 | 7 | 26 | 67 |
0 | 1 | 0 | 21623768 | 7516480 | 4286 | 678 | 84617 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 101 | 3348 | 11121 | 6880 | 18 | 18 | 64 |
0 | 1 | 0 | 21612096 | 7486936 | 2695 | 740 | 62159 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 54 | 2080 | 5215 | 4141 | 26 | 12 | 62 |
0 | 1 | 0 | 21628088 | 7453264 | 2887 | 346 | 66606 | 8 | 8 | 0 | 0 | 0 | 0 | 0 | 42 | 2104 | 3405 | 4069 | 34 | 10 | 56 |
0 | 2 | 0 | 21629944 | 7418056 | 2479 | 1 | 65777 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 38 | 2096 | 8782 | 3927 | 8 | 9 | 83 |
0 | 3 | 0 | 21618144 | 7330424 | 7991 | 404 | 148917 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 121 | 4524 | 7762 | 10128 | 5 | 27 | 68 |
한 화면에 나타내기 정말 어렵다-_- 잘(?) 보자.
서버 성능 측정을 위해 vmstat 을 찾아보았다.
vmstat 은 CPU와 I/O를 모니터링 할 수 있다.
첫 줄은 부팅 이후 각 통계치에 대한 평균값이다.
kthr - kernel thread state change
proc로 표현되기도 한다.
대부분의 OS는 멀티스레드 기능을 제공하며, 커널의 스케줄링도 스레드 단위로 한다.
멀티스레딩 방식으로 프로그래밍 되지 않은 프로세스는 하나의 프로세스에 하나의 스레드만 있다.
thread state는 3가지가 있다.
1. CPU를 사용하고 있는 스레드.
2. CPU를 사용하기 위해 Run Queue에서 대기하고 있는 스레드
3. I/O나 이벤트가 완료되기를 기다리면 sleep 중인 스레드
vmstat kthr의 r, b,w 의 의미는 다음과 같다.
r - the number of threads in run queue
CPU를 사용하기 위해 Run Queue에서 대기하고 있는 스레드(2 이상이면 CPU busy)
b - the number of threads blocked for resources (I/O, paging, and so forth)
I/O나 이벤트가 완료되기를 기다리며 sleep 중인 스레드
CPU 성능과 관계없다고 판단.
Disk의 I/O가 느릴때 b의 수치가 증가한다.
w - the number of threads swapped out
swap out된 실행가능한 스레드(0 이상이면 메모리가 부족하다고 판단)
시스템의 메모리가 부족할 때 paging이 발생.
페이징으로도 부족한 메모리를 보충하지 못하면 swapping이 발생.
이때 메모리로 부터 빠져나가 swap 디바이스에 보관된 스레드의 개수를 w에 보여준다.
swap out 된 스레드는 대기 후 다시 실행될 때 메모리로 swap in 된다.
memory - Report on usage of virtual and real memory.
swap - amount of swap space currently available (Kbytes)
사용 가능한 가상 메모리(physical memory + swap device)의 크기.
평소에 이 값이 높다고 해도 free 메모리의 여유가 있다면 메모리가 부족한 것이 아니다.
free - size of the free list (Kbytes)
사용 가능한 physical memory 의 크기.
page - Report information about page faults and paging activity. (second.)
이후의 부분은 다음에 다시 정리하자.
Server의 Memory 성능의 지표를 알고 싶었는데 부족한 느낌이다.
참고사이트
http://ldcc.tistory.com/entry/vmstat-%ED%95%84%EB%93%9C-%EC%84%A4%EB%AA%85
http://blog.naver.com/PostView.nhn?blogId=ares2011&logNo=50023242845&parentCategoryNo=28&viewDate=¤tPage=1&listtype=0
http://jikime.tistory.com/286
댓글 없음:
댓글 쓰기