RadarURL

유닉스/리눅스
2014.05.14 19:39

리눅스 시스템 성능 모니터링(CPU, 메모리)

조회 수 1532 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

리눅스 시스템의 성능 모니터링 명령어


ㅇ free

free 또는 free -s 3(초) 로 시스템을 모니터링 하거나

watch free 또는 watch -n 1 -d free로 모니터링

(-n 시간 설정 -d 변화 부분 강조)



ㅇ pstree

실행중인 프로세스 상태를 트리 구조로 보여주는 명령어

pstree [프로세스를 기동한 사용자 ID] 형태로 조회 가능


ㅇ top

CPU 점유 프로세스들을 실시간으로 조회하는 명령어

# top [-d ss]

# top

top - 14:27:14 up 118 days, 21:54, 14 users, load average: 0.04, 0.05, 0.06
Tasks: 595 total, 1 running, 594 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.5%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16287824k total, 13661668k used, 2626156k free, 510288k buffers
Swap: 18530296k total, 28320k used, 18501976k free, 4388768k cached


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5670 root 20 0 15484 1652 960 R 3.1 0.0 0:02.87 top
72 root 20 0 0 0 0 S 1.5 0.0 22:11.41 events/5
2163 root 20 0 0 0 0 S 1.5 0.0 69:00.59 kondemand/4
2164 root 20 0 0 0 0 S 1.5 0.0 132:37.06 kondemand/5

- 1줄 top : 시스템의 전반적 상태(가동시간 등)

- 2줄 Tasks : 프로세스들의 상황

- 3줄 CPU : CPU의 상황

- 4줄 Mem : 메모리 상황

- 5줄 Swap : 스왑메모리 상황

- PID : 프로세스 ID (PID)

- USER : 프로세스를 실행시킨 사용자 ID

- PR : 프로세스의 우선순위 (priority)

- NI : NICE 값. 마이너스를 가지는 nice value는 우선순위가 높다.

- VIRT : 가상 메모리의 사용량(SWAP+RES)

- RES : 현재 페이지가 상주하고 있는 크기(Resident Size)

- SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합.

- S : 프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ]

- %CPU : 프로세스가 사용하는 CPU의 사용율

- %MEM : 프로세스가 사용하는 메모리의 사용율

- COMMAND : 실행된 명령어

ㅇ vmstat

프로세스, 메모리의 상태를 보여주는 명령어


#vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 28440 4986260 506960 2089524 0 0 1 14 0 0 0 0 100 0 0


* process

- r : CPU 접근 대기 중인 실행 가능 프로세스 수

- b : 인터럽트 불가능한 수면 상태인 프로세스 수

* memory

- swpd : 사용된 가상 메모리 용량

- free : 여유 메모리 용량

- buff : 버퍼에 사용된 메모리 용량

- cache : 페이지 캐시에 사용된 메모리 용량

* swap

- si : 디스크에서 메모리로 스왑된 메모리 용량

- so : 디스크로 스왑되어 나간 메모리 용량

* 입출력

- bi : 블록 장치로 보내진 블록

- bo : 블록 장치에서 받아온 블록

* 시스템

- in : 일초당 인터럽트 수

- cs : 일초당 문맥 전환 작업수

* CPU

- us : CPU가 사용자 수준 코드를 실행한 시간(백분율 단위)

- sy : CPU가 시스템 수준 코드를 실행한 시간(백분율 단위)

- id : CPU idle time(백분율 단위)

- wa : 입출력 대기


vmstat (옵션없음 ) - 마지막 부팅 이후의 평균값

vmstat 2 10 - 10초 동안 2초 간격으로 정보 갱신


iostat

- 한 개 이상의 디스크 드라이브에 대한 입출력 통계와 CPU 활용량

#iostat

Linux 2.6.32-220.el6.x86_64 (dev) 2013년 05월 08일 _x86_64_ (16 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.09 0.00 0.09 0.09 0.00 99.73

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.19 47.21 96.27 481060715 980953194
sdb 1.19 0.00 342.39 15707 3488939808
dm-0 8.36 5.03 79.18 51223082 806865688
dm-1 0.01 0.02 0.03 192064 314528
dm-2 0.99 0.01 7.88 142226 80313368

커널 버전 밑에 보이는 CPU 평균은 마지막 재부팅 이후의 평균 활용률

- %user : 어플리케이션 등 사용자 모드에 소모된 시간

- %nice : nice를 사용하여 스케줄링 우선순위가 바뀐 프로세스에 소모된 시간

- %system : 시스템(커널)이 사용한 시간

- %iowait : 디스크I/O 요청 때문에 CPU가 대기한 시간

- %steal : 다른 가상 CPU가 서비스하는 동안 비자발적으로 대기한 시간

- %idle : 대기한 시간

- tps : 초당 전송(입출력) 수

- Blk_read/s : 초당 읽혀진 512바이트 블록수

- Blk_wrtn/s : 초당 쓰여진 512바이트 블록수

- Blk_read : 지금까지 읽혀진 총 512바이트 블록수

- Blk_wrtn : 지금까지 쓰여진 총 512바이트 블록수


* -k 옵션 사용시 블록단위가 아닌 킬로바이트 단위의 정보를 볼 수 있다.

- cpu에서 시스템에서 사용하는 cpu시간이 지나치게 높다면(50% 이상) 디스크 I/O에서 문제가 있을 가능성이 크다.

- 시스템 전체의 부하가 높은데도 cpu에서 휴지시간(idle time, id 항목)이 일반적으로 10%를 넘는다면 I/O나 메모리에 문제가 있을 가능성이 크다.

- 휴지시간이 항상 0이라면 CPU를 완전하게 100% 사용하고 있는 상태이며 CPU의 과부하를 의미한다.


ㅇ mpstat

옵션없이 사용하면 iostat과 큰 차이 없음

-P ALL 옵션을 같이 사용하면 각 CPU별 사용현황을 볼 수 있음


# mpstat -P ALL

Linux 2.6.32-220.el6.x86_64 (dev) 05/08/13 _x86_64_ (16 CPU)

16:18:09 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
16:18:09 all 0.09 0.00 0.11 0.01 0.00 0.00 0.00 0.00 99.79
16:18:09 0 0.05 0.00 0.06 0.08 0.00 0.00 0.00 0.00 99.81
16:18:09 1 0.09 0.00 0.08 0.00 0.00 0.00 0.00 0.00 99.83
16:18:09 2 0.10 0.00 0.08 0.00 0.00 0.00 0.00 0.00 99.82
16:18:09 3 0.11 0.00 0.09 0.00 0.00 0.00 0.00 0.00 99.80
16:18:09 4 0.07 0.00 0.12 0.09 0.00 0.00 0.00 0.00 99.71
16:18:09 5 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.00 99.76


sadc 및 sar

- system activity data collector

- /etc/cron.d/sysstat 파일을 통해 주기적으로 작업하고 /var/log/sa 디렉토리에 sa<dd> 형식으로 저장(dd - 날짜)

- sadc의 수집자료는 sar에 의해 /var/log/sa 디렉토리에 sar<dd> 형식으로 저장

- sar<dd> 파일은 00:00~23:50까지 10분단위로 기록하며, 총 17개 항목을 보고

출처 : http://ttend.tistory.com/144

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928092
12 하드웨어 CPU 온도에 관한 진실 file JaeSoo 2016.03.17 577
11 모바일 블루스택 GPU 사용으로 CPU 부하를 줄이는 방법 file JaeSoo 2016.03.07 802
10 유닉스/리눅스 cpulimit - cpu 사용량을 정한다. JaeSoo 2015.08.24 626
9 하드웨어 CPU와 관련하여 뿔딱, 뚜따 등의 의미 JaeSoo 2015.01.21 418
8 유닉스/리눅스 Linux 서버 하드웨어 정보 확인하기 (CPU, HDD, MEM등) JaeSoo 2014.06.10 1795
7 하드웨어 향상된 성능 낮아진 전력소모 - 인텔 4세대 CPU 하스웰(Haswell) file JaeSoo 2014.05.31 1350
6 하드웨어 인텔 하스웰 후속 CPU 하스웰 리프레시 어떻게 달라졌나? file JaeSoo 2014.05.31 5665
5 모바일 스마트폰 CPU 성능 비교 및 분석 [엑시노스,스냅드래곤,Omap(오맵),테그라] - 리뉴얼 file JaeSoo 2014.05.15 1728
» 유닉스/리눅스 리눅스 시스템 성능 모니터링(CPU, 메모리) JaeSoo 2014.05.14 1532
3 유닉스/리눅스 Linux CPU, I/O, Memory 사용량 측정 JaeSoo 2014.05.14 1453
2 하드웨어 CPU와 하드디스크의 적정온도를 확인하자 JaeSoo 2013.09.23 3581
1 하드웨어 인텔의 차세대 CPU, 샌디브릿지 file JaeSoo 2011.01.17 6475
Board Pagination Prev 1 Next
/ 1


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너