2012년 9월 19일 수요일

vmstat 분석(계속)

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=&currentPage=1&listtype=0

http://jikime.tistory.com/286

댓글 없음:

댓글 쓰기