상세 컨텐츠

본문 제목

서버 느릴 때 확인하는 ps 명령어 조합 – Rocky 리눅스 실전 방법

리눅스 정보실

by 고지존 2025. 7. 28. 10:15

본문

Rocky Linux 서버 운영 시 프로세스 상태를 정확히 파악하는 것은 시스템 성능 관리와 문제 해결의 핵심입니다. 이번 글에서는 리눅스 프로세스 관리에 필수적인 ps 명령어를 중심으로 주요 옵션과 출력 결과 해석법, 그리고 실무에서 어떻게 활용하는지 상세히 설명합니다.

1. ps 명령어란?

ps는 'process status'의 약자로, 현재 시스템에서 실행 중인 프로세스 정보를 보여줍니다. 프로세스가 어느 사용자에 의해 실행되었고, CPU와 메모리를 얼마나 사용하는지 등 다양한 정보를 출력합니다.

시스템 상태 점검, 부하 분석, 문제 프로세스 탐지에 없어서는 안 될 필수 도구입니다.

2. ps 명령어 주요 옵션과 의미

옵션 설명
-e 시스템 내 모든 프로세스 출력
-o 출력할 필드를 사용자 지정
--sort 지정한 필드를 기준으로 결과 정렬
-p <PID> 특정 프로세스 ID만 출력
--forest 프로세스 계층 구조(부모-자식 관계) 시각화

3. 자주 쓰는 출력 필드

필드 설명
USER 프로세스 소유자(사용자)
PID 프로세스 ID
RSS 실제 메모리 사용량(KB)
%MEM 전체 메모리 대비 사용 비율(%)
%CPU CPU 사용률(%)
TIME 누적 CPU 사용 시간(시:분:초)
COMMAND 실행 명령어 이름

4. 실무에서 자주 사용하는 명령어 예시

메모리 사용량 상위 프로세스를 확인할 때 아래 명령어를 습니다.

실전 사진

ps -eo user,pid,rss,pmem,pcpu,time,comm --sort -rss | head -n 11

옵션별 의미는 다음과 같습니다.

  • -e: 전체 프로세스 출력
  • -o user,pid,rss,pmem,pcpu,time,comm: 원하는 컬럼만 출력
  • --sort -rss: 메모리 사용량(RSS) 기준 내림차순 정렬
  • head -n 11: 상위 10개 프로세스만 출력(헤더 포함 총 11줄)

5. 출력 예시 및 해석


USER       PID    RSS   %MEM  %CPU     TIME COMMAND
mysql     1452  102400  3.2   0.1  00:12:34 mysqld
apache    2563   76800  2.4   1.3  00:05:22 httpd
nginx     3124   51200  1.6   0.0  00:00:10 nginx
user1     4121   40960  1.3   0.5  00:02:18 java
  • USER: 프로세스 소유자. 예상과 다르면 보안 점검 필요
  • PID: 프로세스 고유 번호. 문제 시 종료 대상
  • RSS: 실제 메모리 사용량(KB). 메모리 누수 감지 지표
  • %MEM: 전체 메모리 대비 사용률. 메모리 과다 사용 판단
  • %CPU: CPU 사용률. 과점유 프로세스 탐색
  • TIME: 누적 CPU 사용 시간. 비정상 장시간 사용 여부 판단
  • COMMAND: 실행 명령어 이름

6. 실무 활용 

6-1. 메모리 누수 의심 프로세스 점검

위 명령어로 메모리 사용량 최상위 프로세스를 확인 후, 정상 범위를 벗어난 프로세스를 모니터링합니다. 필요 시 로그 점검, 프로세스 재시작으로 문제를 해결합니다.

6-2. CPU 과점유 프로세스 확인

ps -eo user,pid,pcpu,time,comm --sort -pcpu | head -n 11

CPU 점유율이 높은 프로세스부터 분석하여 서비스 장애 원인이나 최적화 대상 프로세스를 식별합니다.

6-3. 특정 프로세스 상세 정보 확인

ps -p <PID> -o pid,ppid,user,stat,etime,cmd
  • ppid: 부모 프로세스 ID 확인으로 서비스 관계 분석
  • stat: 프로세스 상태 코드 (R=실행중, S=대기, Z=좀비 등)
  • etime: 실행된 시간 경과 확인
  • cmd: 전체 명령어 및 인자 확인

7. 프로세스 계층 구조 확인 방법

복잡한 서비스 연관성을 파악하려면 다음 명령어로 프로세스 트리를 확인합니다.

ps --forest -eo pid,ppid,user,stat,cmd |

관련글 더보기