버전 : CentOS 7


1. top 명령어로 리눅스 시스템 프로세스 실시간으로 확인


명령어 : $ top

 - 프로세스의 자원사용 현황을 실시간으로 확인(3초마다 refresh)


결과화면 : 

top - 05:37:07 up  3:25,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 238 total,   1 running, 237 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7959276 total,  7011384 free,   540156 used,   407736 buff/cache
KiB Swap: 16777212 total, 16777212 free,        0 used.  7101344 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND              
    1 root      20   0  193628   6724   3960 S   0.0  0.1   0:04.39 systemd              
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd             
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/0          
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H         
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.04 migration/0          
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh               
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.78 rcu_sched            
   10 root      rt   0       0      0      0 S   0.0  0.0   0:00.06 watchdog/0           
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.06 watchdog/1           
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/1          
   13 root      20   0       0      0      0 S   0.0  0.0   0:00.13 ksoftirqd/1          
   16 root      rt   0       0      0      0 S   0.0  0.0   0:00.05 watchdog/2           
   17 root      rt   0       0      0      0 S   0.0  0.0   0:00.06 migration/2          
   18 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/2          
   20 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H         
   21 root      rt   0       0      0      0 S   0.0  0.0   0:00.06 watchdog/3           
   22 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/3          
   23 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/3          
   25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H

부가설명 : 

키보드의 스페이스바를 누르면 즉시 refresh 가능

키보드의 방향키로 프로세스 목록 확인 가능

q나 Ctrl+C를 눌러서 프로세스 감시창을 닫을수 있습니다.


Tasks: 238 total,   1 running, 237 sleeping,   0 stopped,   0 zombie

tasks : 실행된 전체 프로세스의 수

running : 실행중인 프로세스의 수

sleeping : 유휴상태의 프로세스 수

stopped : 종료된 프로세스의 수

zombie : 좀비 프로세스의 수


%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

%Cpu(s)(프로세스가 사용하는 CPU 사용률)

us : 사용자의 CPU 사용률

sy : 시스템의 CPU 사용률

ni : nice에 의한 CPU 사용률

id : 사용 되지않는 CPU 사용률

wa : 입출력 대기에 쓰인 시간

hi : 인터럽트(hard interrupt) 처리에 쓰인 시간

si : 인터럽트(soft interrupt) 처리에 쓰인 시간

st : 가상화 환경(하이퍼바이저)에서의 Steal Time


KiB Mem :  7959276 total,  7011384 free,   540156 used,   407736 buff/cache

KiB Mem(메모리 현황 확인)

total : 할당된 전체 메모리

free : 사용하지않는 여유 메모리

used : 사용중인 메모리

buff : 버퍼 메모리


KiB Swap: 16777212 total, 16777212 free,        0 used.  7101344 avail Mem

Swap 메모리 현황(스왑 메모리 - 주 메모리가 부족할때, 하드디스크와 같은 공간을 메모리로 사용하기 위한 가상 메모리를 칭합니다.)

total : 전체 스왑 메모리

free : 사용하지 않는 여유 스왑 메모리

used : 사용중인 스왑 메모리


PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

PID : 해당 프로세스의 ID

USER : 해당 프로세스를 실행시킨 사용자

PR : 해당 프로세스의 우선순위

NI : 해당 프로세스의 Nice Value

VIRT : 해당 프로세스가 사용한 가상 메모리

RES : 해당 프로세스의 사용한 물리 메모리

SHR : 해당 프로세스의 공유 메모리

S : 해당 프로세스의 상태

%CPU : 해당 프로세스의 CPU 사용률

%MEM : 해당 프로세스의 메모리 사용률

TIME+ : CPU 사용시간 값(100분의 1초 단위로 반영)

COMMAND : 프로세스 실행 명령



명령어 : $ top | grep "이름"

- 원하는 프로세스만 확인



2. ps 명령어로 리눅스 시스템 프로세스 실행상태 출력


명령어 : $ ps [옵션]

$ ps ax (간단하게 모든 실행 프로세스를 출력)

$ ps axu (간단하게 모든 실행 프로세스를 출력)

$ ps -e | grep "이름"(해당 이름으로 검색한 결과를 -e 옵션을 주고 모두 출력)

! 리눅스는 옵션 조합이 자유롭기에 얼마든지 원하는 형태로 출력할 수 있습니다.



3. kill 명령어로 해당 프로세스 죽이기 


명령어 : $ kill [옵션]

$ kill -9 pid(해당 프로세스를 -9옵션을 주어 강제종료)

$ kill -15 pid(해당 프로세스를 -15옵션을 주어 작업종료, -9 옵션보다 안정적임)