IT 기술 문서
CentOS 7 유용한 명령어 시리즈 - ⑫ 시스템 성능 모니터링
- it2033 4일 전 2025.02.01 17:15
-
- 4
- 0
CentOS 7 서버의 안정적인 운영을 위해서는 CPU, 메모리, 디스크 I/O, 네트워크 상태 등을 지속적으로 모니터링하는 것이 중요합니다. 이 글에서는 시스템 성능을 실시간으로 모니터링하고 분석하는 데 유용한 명령어들을 정리하겠습니다.
1. CPU 및 메모리 사용량 확인
1.1. CPU 사용량 실시간 확인
top
현재 CPU, 메모리, 실행 중인 프로세스를 실시간으로 확인합니다.
Shift + M
→ 메모리 사용량 기준 정렬Shift + P
→ CPU 사용량 기준 정렬
1.2. 보다 향상된 htop
사용 (설치 필요)
yum install htop -y
htop
htop
은top
보다 인터페이스가 직관적이며, 프로세스 관리 기능이 강화되었습니다.
1.3. CPU 사용량을 평균값으로 출력
uptime
출력 예시:
10:15:42 up 3 days, 2:04, 2 users, load average: 0.35, 0.32, 0.30
load average
값이 1.00이면 단일 CPU 기준으로 100% 활용되고 있음을 의미합니다.
1.4. CPU 개수 및 정보 확인
cat /proc/cpuinfo | grep "model name"
현재 시스템의 CPU 개수 및 모델명을 확인합니다.
2. 메모리 사용량 확인
2.1. 현재 메모리 상태 요약
free -m
출력 예시:
total used free shared buff/cache available
Mem: 7864 2560 1220 142 4084 4732
Swap: 2048 512 1536
used
: 현재 사용 중인 메모리free
: 사용 가능한 메모리buff/cache
: 커널이 캐시로 사용하고 있는 메모리
2.2. 메모리 사용량이 높은 프로세스 확인
ps aux --sort=-%mem | head -10
메모리 사용량이 높은 상위 10개 프로세스를 확인합니다.
3. 디스크 I/O 모니터링
3.1. 현재 디스크 사용량 확인
df -h
디스크의 전체 사용량 및 남은 용량을 확인합니다.
3.2. 특정 디렉토리의 용량 확인
du -sh /var/log
/var/log
디렉토리의 전체 크기를 확인합니다.
3.3. 디스크 I/O 속도 확인
iostat -x 1 5
iostat
명령어를 사용하여 디스크의 입출력(I/O) 속도를 1초 간격으로 5번 측정합니다.yum install sysstat -y
명령어로 설치해야 사용할 수 있습니다.
출력 예시:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await
sda 0.00 0.10 5.20 3.00 0.50 0.30 128.00 0.05 1.2
r/s
: 초당 읽기 요청 횟수w/s
: 초당 쓰기 요청 횟수await
: 평균 응답 시간(단위: ms)
4. 네트워크 상태 모니터링
4.1. 네트워크 인터페이스 상태 확인
ip a
현재 활성화된 네트워크 인터페이스 및 IP 주소를 확인합니다.
4.2. 특정 IP 또는 도메인에 Ping 테스트
ping -c 4 google.com
Google 서버에 4번 Ping을 보내 네트워크 연결 상태를 확인합니다.
4.3. 네트워크 연결 확인
netstat -tulnp
현재 열려 있는 포트 및 연결된 프로세스를 확인합니다.
4.4. 실시간 네트워크 트래픽 확인
yum install iftop -y
iftop -i eth0
iftop
을 사용하면 eth0 네트워크 인터페이스의 실시간 트래픽을 확인할 수 있습니다.
출력 예시:
192.168.0.100 => 192.168.0.1 10Kb 15Kb 20Kb
192.168.0.100 <= 192.168.0.1 12Kb 14Kb 18Kb
각 IP 간의 송수신 트래픽을 실시간으로 표시합니다.
5. 시스템 전체 상태 요약
5.1. vmstat
을 이용한 시스템 성능 요약
vmstat 1 5
1초 간격으로 5번 CPU, 메모리, I/O, 프로세스 상태를 출력합니다.
출력 예시:
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 0 53280 4180 32904 0 0 3 5 1 3 5 1 93 1 0
r
: 실행 대기 중인 프로세스 개수us
: 사용자 모드 CPU 사용량sy
: 시스템 모드 CPU 사용량id
: CPU 대기 상태 비율
5.2. 시스템 전체 로그 확인
journalctl -xe
시스템 로그를 분석하여 오류 메시지를 확인할 수 있습니다.
6. 프로세스 및 서비스 모니터링
6.1. 특정 프로세스가 실행 중인지 확인
ps aux | grep nginx
nginx
프로세스가 실행 중인지 확인합니다.
6.2. 특정 서비스 상태 확인
systemctl status httpd
Apache 웹 서버(
httpd
)의 현재 상태를 확인합니다.
6.3. 프로세스별 CPU 사용량 확인
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
CPU 사용량이 높은 프로세스를 정렬하여 출력합니다.
정리
명령어 | 설명 |
---|---|
| CPU 및 메모리 사용량 실시간 확인 |
| 향상된 시스템 모니터링 (설치 필요) |
| 메모리 사용량 확인 |
| 디스크 사용량 확인 |
| 특정 디렉토리 크기 확인 |
| 디스크 I/O 속도 확인 |
| 네트워크 연결 상태 확인 |
| 열린 포트 및 네트워크 연결 확인 |
| 실시간 네트워크 트래픽 모니터링 |
| 시스템 성능 요약 확인 |
| 시스템 로그 확인 |
| 특정 서비스 상태 확인 |
이번에는 CentOS 7에서 시스템 성능을 모니터링하는 명령어들을 정리했습니다. 다음 시리즈에서는 네트워크 문제 해결 및 트러블슈팅 명령어를 다루겠습니다.
- 이전글CentOS 7 유용한 명령어 시리즈 - ⑬ 네트워크 문제 해결 및 트러블슈팅2025.02.01
- 다음글CentOS 7 유용한 명령어 시리즈 - ⑪ 디스크 및 파일 시스템 관리2025.02.01
댓글목록
등록된 댓글이 없습니다.