1 초 단위 로 5 초 동안 실시간 모니터링 하 기 => top - b - d 1 - n 5 - u userid * 비 정상 종료 상태 로 남 아 있 는 프로세스 들 죽이 기 top - b - n 1 - u gisys | grep ' T ' | awk '{ print $ 1 }' | xargs kill - 9 *** 멀티 cpu 사용량 직접 구하 기 / proc / stat 첫 줄 에 있 는 user , low priority , system , idle jiffies 값 을 가지 고 구한다고 하 더군요 . ( idle jiffies * 100 / user + low priority + system + idle jiffies ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~ 아래 출처 : http : / / www . mimul . com / pebble / default / 2012 / 06 / 26 / 1340680991596 . html *** 3 번 vmstat 를 주로 활용 일반 적 인 커맨드 들 을 활용 방법 들 1 . top 을 보 고 상위 에 붙 어 있 는 프로세스 를 확인 하 면서 CPU 나 I / O 의 어느 문제 인지 판별 - 프로세스 의 Fullpath 를 알 고 싶 으면 ' c ' 를 누름 . - 개별 CPU 의 성능 정보 를 볼려면 ' 1 ' 을 누름 . - 정렬 은 ' shift '+ ' m ' 에서 메모리 정렬 , ' shift '+ ' o ' 로 정렬 필드 를 선택 할 수 있 음 . - ' k ' 로 프로세스 를 kill 시킬 수 있 음 . - top - u % UserName % 사용 자 계정 단위 로 프로세스 확인 가능 . 2 . ps 로 프로세스 의 상태 를 확인 ( T ) , ( D ) 상태 에서 CPU 나 I / O 의 어느 문제 인지 판별 - ps - e - o pid , args -- forest : 프로세스 의 트리 를 보여줌 . - ps - f - u k 2 , mysql : 사용 자 계정 별 로 프로세스 정보 확인 . - ps - f -- ppid 9576 : pid 나 ppid 로 프로세스 조회 . - ps - p 1 , 28641 - o pid , etime = : 프로세스 구동 후 경과 시간 정보 확인 . - ps - C java - L - o pid , tid , pcpu , state , nlwp , args : 프로세스 의 쓰레드 정보 조회 . - ps aux -- sort pmem : 메모리 정보 조회 해서 메모리 많이 차지 하 는 프로세스 는 ' ps ev -- pid = 28641 ' 로 해서 개별 프로세스 를 감시 할 수 있 음 . 3 . vmstat 에서 procs 의 r , b 의 수 , swap 의 si , so 상태 , I / O 의 bi , bo 상태 , cpu 에서 us , sy , id 상태 를 확인 - vmstat 의 r 이 cpu 수 이상 이 면 실행 프로세스 큐 가 cpu 를 기다리 고 있 는 상태 . - b 가 0 보다 크 다면 I / O 대기 로 인터럽트 가 금지 되 는 프로세스 수 가 있 다는 것 . - memory 에서 swpd 가 0 보다 크 다면 스왑 을 사용 중 이 며 메모리 부족 . - bi , bo 이 많 을 경우 블록 전송 이 빈발 하 고 있 음 . - vmstat 명령어 결과 에 시간 표시 하 기 : vmstat 1 5 | timestamp . pl $ vi timestamp . pl #!/ usr / bin / perlwhile ( <>) { print localtime ( ) . ": $_"; }- vmstat - m : slab 정보 표시 . - vmstat - s : 전체 통계 정보 요약 . - vmstat - d : 디스크 통계 정보 조회 . - vmstat - p sdb 1 : 디스크 파티션 정보 조회 . 4 . sar 를 사용 하 여 os 상태 추가 확인 - sar - W 1 5 에서 pswpin / s pswpout / s 0 보다 클 경우 스왑 발생 하 고 있 어서 메모리 부족 . - sar 1 5 CPU 정보 - sar - q 1 5 : 평균 부하 및 작업 실행 큐 에 대한 정보 . - sar - r 1 5 : 메모리 정보 . - sar - u - P ALL 1 5 : 프로 세 서당 CPU 사용 률 에 대한 정보 . - sar - b 1 5 : I / O 통계 정보 조회 . - sar - d 1 5 : Block Device I / O 통계 조회 . - sar - w 1 5 : 초당 context switch 정보 조회 . - sar - n DEV 1 5 : 네트워크 통계 조회 . 5 . iostat 을 사용 해서 디스크 I / O 정보 확인 - iostat - c : Cpu 정보 조회 . - iostat - d : Disk I / O 정보 조회 . - iostat - n : 네트워크 정보 조회 . - iostat - p sda : 디바이스 별 I / O 통계 . - iostat - x sda 1 : 상세 Disk I / O 정보 조회 . # # # # # # # # # # # # # # # # # # # # # # # # # # ######################### mysql monitoring ################# dstat 을 활용 한 방법 들 1 . 유용 한 dstat 커맨드 들 - dstat - Tclmdrn : 전체 정보 조회 . - dstat - Tclm : 메모리 정보 조회 . - dstat - Tclr : CPU 정보 조회 - dstat - Tclnd : 네트워크 정보 조회 . - dstat - Tcldr : 디스크 정보 조회 . - dstat -- top - cpu -- top - cputime : CPU 부하 가 크 고 전체 높 은 CPU 타임 을 가진 프로세스 조회 . - dstat -- top - cpu - adv : CPU 부하 가 큰 프로세스 상세 정보 조회 . - dstat -- top - io -- top - bio : 가장 IO 를 많이 발생 하 는 프로세스 조회 . - dstat -- top - io - adv -- top - bio - adv : 가장 IO 를 많이 발생 하 는 프로세스 상세 정보 조회 . - dstat -- cpu -- sys -- disk -- net 1 5 : CPU , SYSTEM , DISK , NETWORK 정보 조회 . - dstat - tal -- top - io -- top - cpu -- top - mem : 전체 정보 조회 . 2 . dstat 으로 MySQL 모니터링 MySQL 을 모니터링 하 려면 Python 의 MySQLdb 라이브러리 가 설치 되 어 있 어야 한다 . $ export DSTAT _ MYSQL _ USER = user $ export DSTAT _ MYSQL _ PWD = pwd $ export DSTAT _ MYSQL _ HOST = localhost $ dstat - T -- mysql 5 - cmds -- mysql 5 - conn -- mysql 5 - io -- mysql 5 - keys -- epoch --- ------ mysql 5 - cmds ------ mysql 5 - co - mysql 5 - io - --- mysql 5 - key - status ---- epoch | sel ins upd del | ThCo % Con | recv sent | used read writ rreq wreq 1330500331 | 0 0 0 0 | 0 . 00 0 . 00 | 0 . 02 0 . 11 | 0 0 0 0 0 1330500332 | 8 0 0 0 | 4 . 00 1 . 60 | 9796 B 59 . 8 k | 0 0 0 0 0 1330500333 | 8 0 0 0 | 4 . 00 1 . 60 | 9 . 90 k 61 . 1 k | 0 0 0 0 0 1330500334 | 8 0 0 0 | 4 . 00 1 . 60 | 10 . 2 k 62 . 5 k | 0 0 0 0 0 3 . dstat 으로 MySQL Innodb 모니터링 $ export DSTAT _ MYSQL ='- uuser - ppwd - hlocalhost '$ dstat - T -- innodb - io -- innodb - buffer -- innodb - ops -- epoch --- innodb - io - o innodb - pool --- innodb - ops -- epoch | rea wri syn | crt rea wri | ins upd del rea 1330500814 | 0 0 0 | 0 . 2 1 . 0 11 | 0 0 0 01330500815 | 0 0 0 | 3 . 0 1 . 0 139 | 0 0 0 01330500816 | 0 0 0 | 3 . 0 5 . 0 172 | 0 0 0 01330500817 | 0 0 0 | 5 . 0 5 . 0 133 | 0 0 0 0 [ 참조 사이트 ] Dstat : Versatile resource statistics tool ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~ 아래 출처 : http : / / jmnote . com / wiki / % EB % A 6 % AC % EB % 88 % 85 % EC % 8 A % A 4 _% ED % 94 % 84 % EB % A 1 % 9 C % EC % 84 % B 8 % EC % 8 A % A 4 _ CPU _% EC % 82 % AC % EC % 9 A % A 9 % EB % A 5 % A 0 리눅스 프로세스 CPU 사용 률 Jmnote 목차 [ 숨기 기 ] 1 ps 2 top 3 같이 보 기 ps [ root @ localhost ~]# ps - C java - o user , pid , pcpu , pmem , vsize , size , etime , commUSER PID % CPU % MEM VSZ SZ ELAPSED COMMANDbatch 13793 99 . 6 0 . 1 6646316 6554040 01 : 46 java → java 프로세스 는 현재 1 코어 기준 점유 율 99 . 6 % 이 며 , 1 분 46 초 동안 실행 중 이 다 . → 가상 메모리 를 6 , 646 , 316 kB ( 약 6646 MB ) , 스왑 공간 을 6 , 554 , 040 kB ( 약 6554 MB ) 사용 하 고 있 다 . top [ root @ localhost ~]# top - b - n 1 - u batchtop - 02 : 52 : 38 up 70 days , 7 : 42 , 1 user , load average : 0 . 73 , 0 . 87 , 0 . 89 Tasks : 326 total , 2 running , 324 sleeping , 0 stopped , 0 zombieCpu ( s ) : 12 . 0 % us , 0 . 5 % sy , 0 . 0 % ni , 87 . 5 % id , 0 . 0 % wa , 0 . 0 % hi , 0 . 0 % si , 0 . 0 % stMem : 25165824 k total , 22243804 k used , 2922020 k free , 984264 k buffersSwap : 8385920 k total , 140 k used , 8385780 k free , 14228864 k cached PID USER PR NI VIRT RES SHR S % CPU % MEM TIME + COMMAND 13793 batch 18 0 6554 m 35 m 9340 S 97 . 1 0 . 1 1 : 57 . 92 java → java 프로세스 는 현재 1 코어 기준 점유 율 97 . 1 % 이 며 , 1 분 57 . 92 초 동안 실행 중 이 다 . → 물리 메모리 를 350 MB , 가상 메모리 를 6554 MB 사용 하 고 있 다 .