728x90
시스템 성능 관리 명령어
개요
- 시스템이 현재 사용하고 있는 자원의 현황 조사
- 시스템이 효율적으로 동작하고 있는지 검사
- 시스템 성능에 영향을 미치는 요소, 시스템이 최적의 성능을 발휘하기 위해 무엇이 필요한지 알게 됨
시스템 상태 : uptime
- 시스템의 평균 부하에 대한 수치를 측정
- 시스템이 얼마나 오랜 시간 동안 운영되고 있는지를 통계와 함께 보여줌
- 00:20:29 : 현재 시간
- up 2:27 : 부팅 후부터의 동작 시간
- 2 users : 현재 서버에 접속된 사용자 수
- load average : 과거 1, 5, 15분간의 시스템 평균 부하(load)
- 일반적으로 평균 부하가 5.0-10.0 이상이면 높은 부하이므로 부하 분산 필요
# uptime
00:20:29 up 2:27, 2 users, load average: 0.16, 0.03, 0.01
프로세스 상태 : ps
- 현재 실행 중인 모든 프로세스들의 상태를 감시하는데 사용
- 프로세스 목록, 각 프로세스의 상태, 크기, 이름, 소유자, CPU 시간, 실제 시간 등 정보를 보여줌
메모리 상태 : vmstat
- 메모리의 상태와 성능 감시에 사용
- 형식 : vmstat [delay [count]]
- delay는 몇 초 간격으로 메모리 상태를 체크할 것인지 지정하는 값
- count는 명령어 사용자에게 몇 번이나 반복 실행하여 상태를 보여줄 것인지 그 회수를 지정하는 값
- count를 지정하지 않으면 지정된 시간 간격으로 정보를 수집하여 계속 출력
# vmstat
procs -----------memory------- --swap- ---io- -system- --------cpu--------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 5716 7176 62548 16540 0 0 0 1 31 11 5 12 5 0 0
- vmstat 결과의 내용
CPU 상태 : mpstat
- CPU의 성능 상태 출력
- SMP(대칭형 다중 프로세서)일 경우 각 프로세서별 상태를 보여줌
# mpstat
Linux 2.6.33.3-......
21:36:59 CPU %user %nice %sys %iowait %irq %soft %steal %guest %idle
21:36:59 all 5.18 0.00 2.32 5.43 0.51 0.13 0.00 0.00 86.96
- mpstat 실행 결과
네트워크 상태 : netstat
- 네트워크와 관련된 다양한 정보를 알 수 있는 명령
- 네트워크 연결 상태
- 옵션을 주지 않으면 활성화된 TCP와 UDP의 상태를 보여줌
- tcp만 연결 상태(state)를 나타냄
- udp는 비연결형 프로토콜
- 프로토콜 연결 상태 : 현재 연결을 위한 ESTABLISHED, 연결을 기다리는 LISTEN, 종료 중에 있는 TIME_WAIT 등
# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 70 0 10.0.2.15:56232 productsearch.ubu:https CLOSE_WAIT
tcp 70 0 10.0.2.15:56255 productsearch.ubu:https CLOSE_WAIT
......
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 8157 /var/spool/postfix/dev/log
unix 23 [ ] DGRAM 8155 /dev/log
......
- 인터페이스 구성 정보
- -i 옵션 사용
- 네트워크 인터페이스 구성 정보인 라우팅 테이블 화면
# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 8402950 0 0 0 463998 0 0 0 BRU
lo 16436 0 19117 0 0 0 19117 0 0 0 LRU
디스크 상태 : iostat
- 디스크 ‘입출력’의 통계량과 전송비율 등 디스크 입출력에 관련된 상태 출력
- 형식 : iostat [time [count]]
- time초 간격으로 count개의 상태를 체크하여 보여줌
- 사용 예 : iostat 2 : 사용자의 중지 명령이 있을 때까지 2초 간격으로 업데이트된 목록을 보고함
# iostat 2
Linux 2.6.33.3-......
avg-cpu: %user %nice %system %iowait %steal %idle
5.17 0.00 2.31 5.43 0.00 94.22
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev3-0 0.70 0.04 5.56 712 6190947
avg-cpu: %user %nice %system %iowait %steal %idle
1.46 0.16 2.34 1.82 0.00 94.22
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev3-0 0.30 2.04 3.27 0 0
CPU와 디스크 상태 : sar
- sar 명령은 시스템 정보를 보고할 때 쓰이는 명령어
- cron 명령과 같이 사용하여 주기적으로 장기간 데이터를 수집할 수 있는 장점을 가짐
- sar의 CPU 분석 기능
- CPU 이용 옵션 –u를 붙이지 않아도 기본적으로 같은 결과를 보고
- CPU는 사용 중이거나 휴지(idle) 상태
- 사용 중 : 시스템 고유 작업과 사용자의 작업을 수행
- 사용 중이지 않을 때 : 입출력을 기다리거나 휴지 상태
728x90
'프로그래밍 > Unix' 카테고리의 다른 글
[유닉스] 시스템 백업과 복구 명령어 (0) | 2020.05.20 |
---|---|
[유닉스/unix] 사용자(User) 관리 명령어, 그룹(Group) 관리 명령어 (0) | 2020.05.18 |
[유닉스] 시스템 부팅과 종료 (0) | 2020.05.17 |
[유닉스] 시스템 관리자 (0) | 2020.05.16 |
쉘 스크립트(Shell Script) 디버깅 (0) | 2020.05.14 |