카테고리 없음

리눅스 서버 운영자가 반드시 알아야 할 핵심 점검 명령어 20선

14722 2026. 10. 5. 23:38

리눅스 서버를 안정적으로 관리하고 운영하기 위해서는 시스템의 상태를 실시간으로 파악하고 장애 발생 시 신속하게 원인을 진단하는 능력이 필수적입니다. 서버의 CPU, 메모리, 디스크, 네트워크, 프로세스 상태를 정확하게 점검할 수 있는 핵심 리눅스 명령어 20가지를 영역별로 정리하여 소개합니다.

1. 시스템 정보 및 리소스 점검 명령어

1) top - 실시간 시스템 리소스 사용량 조회

  • 설명: CPU 사용률, 메모리 사용량, 실행 중인 프로세스 목록을 실시간으로 모니터링합니다.
  • 주요 옵션 및 사용법:
    • top: 실시간 화면 진입 (수정 가능한 대화형 모드)
    • P 키: CPU 사용량 순 정렬 / M 키: 메모리 사용량 순 정렬

2) htop - 시각화된 프로세스 모니터링

  • 설명: top 명령어를 개선한 텍스트 기반 GUI 도구로, 각 CPU 코어별 사용량과 메모리 상태를 컬러 그래프로 한눈에 확인합니다.
  • 사용법: htop (별도 패키지 설치 필요: apt install htop 또는 yum install htop)

3) uptime - 시스템 가동 시간 및 부하 확인

  • 설명: 서버가 켜진 시간과 최근 1분, 5분, 15분 동안의 평균 시스템 부하(Load Average)를 출력합니다.
  • 사용법: uptime

4) free - 시스템 메모리 상태 점검

  • 설명: 전체 메모리, 사용 중인 메모리, 여유 메모리, 버퍼/캐시 영역을 메가바이트(MB) 또는 기가바이트(GB) 단위로 확인합니다.
  • 주요 옵션 및 사용법: free -h (사람이 읽기 쉬운 단위로 표시)

5) vmstat - 가상 메모리 및 CPU 활성화 상태 확인

  • 설명: 프로세스, 메모리, 페이징, I/O 블록, CPU 활동에 대한 통계 정보를 일정 간격으로 추적합니다.
  • 주요 옵션 및 사용법: vmstat 2 5 (2초 간격으로 5회 출력)

2. 디스크 및 파일 시스템 점검 명령어

6) df - 디스크 용량 사용량 확인

  • 설명: 마운트된 파일 시스템의 전체 용량, 사용량, 남은 용량을 확인하여 디스크 꽉 참 현상을 방지합니다.
  • 주요 옵션 및 사용법: df -h (GB, MB 단위로 출력)

7) du - 디렉토리별 디스크 사용량 점검

  • 설명: 특정 디렉토리나 파일이 차지하는 용량을 측정하여 어떤 파일이 디스크를 많이 사용하는지 추적합니다.
  • 주요 옵션 및 사용법: du -sh /* (최상위 디렉토리별 용량 요약)

8) iostat - 디스크 입출력(I/O) 성능 점검

  • 설명: 저장장치의 읽기/쓰기 속도와 CPU 병목 현상 여부를 진단합니다.
  • 주요 옵션 및 사용법: iostat -xz 1 5 (상세 I/O 정보 1초 간격 출력)

9) lsof - 열려 있는 파일 및 프로세스 확인

  • 설명: 특정 파일이나 포트를 사용 중인 프로세스를 추적하거나 디렉토리를 점유하는 프로세스를 찾을 때 사용합니다.
  • 주요 옵션 및 사용법:
    • lsof -i :80 (80번 포트를 사용하는 프로세스 확인)
    • lsof +D /var/log (해당 디렉토리 내 파일을 연 프로세스 탐색)

3. 프로세스 및 서비스 관리 명령어

10) ps - 현재 실행 중인 프로세스 목록 조회

  • 설명: 시스템에서 작동 중인 프로세스의 PID, CPU/메모리 점유율, 실행 명령어를 확인합니다.
  • 주요 옵션 및 사용법: ps aux 또는 ps -ef | grep nginx (특정 서비스 검색)

11) systemctl - 시스템 서비스 상태 관리

  • 설명: Systemd 기반 리눅스에서 웹서버, DB 등 백그라운드 서비스의 시작, 중지, 상태 점검을 수행합니다.
  • 주요 옵션 및 사용법:
    • systemctl status nginx (서비스 상태 점검)
    • systemctl restart nginx (서비스 재시작)

12) kill / killall - 무응답 프로세스 강제 종료

  • 설명: 응답이 없거나 과도한 리소스를 점유하는 프로세스에 종료 시그널을 전달합니다.
  • 주요 옵션 및 사용법:
    • kill -9 <PID> (해당 프로세스 강제 종료)
    • killall -9 httpd (해당 이름을 가진 모든 프로세스 종료)

4. 네트워크 및 통신 상태 점검 명령어

13) ss - 소켓 상태 및 포트 연결 확인

  • 설명: netstat을 대체하는 최신 명령어입니다. 열려 있는 포트와 활성화된 네트워크 연결을 신속하게 조회합니다.
  • 주요 옵션 및 사용법: ss -tuln (LISTEN 상태인 TCP/UDP 포트 목록 조회)

14) netstat - 네트워크 연결 상태 점검

  • 설명: 서버의 라우팅 테이블, 인터페이스 통계, 활성 상태의 네트워크 연결을 점검합니다.
  • 주요 옵션 및 사용법: netstat -anp (연결된 프로세스 PID와 함께 표시)

15) ping - 네트워크 도달 가능성 테스트

  • 설명: 원격 호스트와의 ICMP 패킷 주고받기를 통해 네트워크 연결 여부와 응답 시간을 측정합니다.
  • 주요 옵션 및 사용법: ping -c 4 8.8.8.8 (4회 패킷 송신 후 종료)

16) traceroute - 패킷 이동 경로 추적

  • 설명: 목적지 IP까지 패킷이 거치는 거점(Hop) 루터를 추적하여 네트워크 병목 구간을 탐색합니다.
  • 주요 옵션 및 사용법: traceroute google.com

17) curl / wget - HTTP 통신 및 원격 파일 다운로드

  • 설명: 서버 내에서 웹 서비스의 정상 작동 여부를 API 호출로 테스트하거나 원격 파일의 헤더 및 응답 코드를 확인합니다.
  • 주요 옵션 및 사용법:

5. 로그 및 시스템 보안 점검 명령어

18) journalctl - Systemd 시스템 로그 조회

  • 설명: 리눅스 커널 및 서비스 실행 로그를 통합 조회하여 오류 원인을 분석합니다.
  • 주요 옵션 및 사용법:
    • journalctl -u nginx -n 50 (Nginx 서비스의 최근 50줄 로그 출력)
    • journalctl -xe (최근 발생한 시스템 오류 상세 조회)

19) dmesg - 커널 메시지 버퍼 출력

  • 설명: 부팅 시 발생한 오류 메시지나 하드웨어 드라이버, 메모리 부족(OOM Killer) 관련 이슈를 확인할 때 사용합니다.
  • 주요 옵션 및 사용법: dmesg -T | tail -n 30 (타임스탬프 표시 후 최근 30줄 출력)

20) last - 사용자 접속 기록 및 부팅 이력 확인

  • 설명: /var/log/wtmp 파일 데이터를 기반으로 최근 로그인한 사용자 계정과 IP, 접속 시간, 재부팅 기록을 조회합니다.
  • 주요 옵션 및 사용법: last -n 10 (최근 10개 로그인 기록 출력)

정리하며

서버 운영 장애는 예고 없이 발생합니다. 위에서 정리한 20가지 핵심 점검 명령어를 익혀두고 상황에 맞춰 일상 점검에 활용하면, 시스템 이상 징후를 초기에 발견하고 안정적인 리눅스 서버 환경을 유지할 수 있습니다.