Linux 서버 CPU, 메모리, 디스크 상태를 진단 명령어
1. CPU 상태 확인
a. CPU 사용률 확인
top
top명령어는 실시간으로 CPU 사용률, 메모리 사용률, 각 프로세스별 리소스 사용률 등을 보여줍니다.1키를 누르면 각 CPU 코어별 사용률을 볼 수 있습니다.
mpstat -P ALL
mpstat는 각 CPU 코어의 사용률을 확인할 수 있는 명령어입니다.-P ALL옵션은 모든 코어의 상태를 보여줍니다.
b. CPU 사용이 높은 프로세스 확인
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
- 현재 CPU 사용률이 높은 상위 프로세스를 확인할 수 있습니다.
2. 메모리 상태 확인
a. 메모리 사용률 확인
free -h
- 전체 시스템의 메모리 사용 현황을 사람이 읽기 쉬운 형식으로 (
-h옵션) 표시합니다.
vmstat -s
- 메모리의 상세 사용 상태와 시스템 통계를 확인할 수 있습니다.
b. 메모리 사용이 높은 프로세스 확인
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
- 현재 메모리 사용률이 높은 상위 프로세스를 확인할 수 있습니다.
3. 디스크 상태 확인
a. 디스크 용량 확인
df -h
- 각 마운트 포인트별 디스크 사용량과 남은 공간을 확인할 수 있습니다.
b. 특정 디렉토리의 용량 확인
du -sh /path/to/directory
- 특정 디렉토리의 사용량을 확인할 수 있습니다.
du -sh * | sort -rh | head -n 10
- 현재 디렉토리에서 가장 큰 10개의 파일이나 디렉토리를 찾을 수 있습니다.
c. 디스크 I/O 상태 확인
iostat -xz 1
- 디스크의 I/O 사용률과 CPU 대기 시간을 확인할 수 있습니다.
4. 네트워크 상태 확인
a. 포트 사용 현황 확인
netstat -tuln
- 현재 열려있는 네트워크 포트와 상태를 확인할 수 있습니다.
b. 네트워크 연결 현황 확인
ss -tuln
netstat와 유사하지만 더 빠르고 효율적인ss명령어로, 현재 네트워크 연결 상태를 확인합니다.
c. 특정 프로세스가 사용 중인 포트 확인
lsof -i :포트번호
- 특정 포트 번호를 사용 중인 프로세스를 확인할 수 있습니다.
5. 전체 시스템 상태 모니터링
htop
top명령어보다 더 사용자 친화적인htop명령어로, 실시간 시스템 모니터링이 가능합니다. 설치가 필요할 수 있습니다.