프린트 하기

OS환경 : Oracle Linux 7.6 (64bit)

 

방법 : Oracle Linux 7 cpu 나 메모리 많이 사용하는 프로세스 찾기

업무중 서버의 cpu가 높은경우 top 커맨드로 많이 보는데 ps 명령으로도 확인이 가능함

 

 

실시간 cpu 사용율이 높은 프로세스 top 10 확인

1
2
3
4
5
6
7
8
9
10
11
$ ps aux --sort -%cpu | head -10
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle   31217  1.1  1.6 1590740 66784 ?       Ss   Jan25 284:26 ora_vktm_ORCL19
gdm       2483  0.2  0.8 737552 32300 ?        Sl    2022 240:51 /usr/libexec/gsd-color
root         1  0.0  0.2 151576  8132 ?        Ss    2022  16:59 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S     2022   0:01 [kthreadd]
root         4  0.0  0.0      0     0 ?        I<    2022   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        I<    2022   0:00 [mm_percpu_wq]
root         7  0.0  0.0      0     0 ?        S     2022   0:33 [ksoftirqd/0]
root         8  0.0  0.0      0     0 ?        R     2022   7:19 [rcu_sched]
root         9  0.0  0.0      0     0 ?        I     2022   0:00 [rcu_bh]

 

 

cpu 전체 결과 대신 pid랑 command 등 특정 컬럼만 보고싶다면 아래 명령을 수행하면됨

1
2
3
4
5
6
7
8
9
10
11
$ ps -eo pid,ppid,cmd,comm,%cpu,%mem --sort=-%cpu | head -10
  PID  PPID CMD                         COMMAND         %CPU %MEM
31217     1 ora_vktm_ORCL19             ora_vktm_orcl19  1.1  1.6
 2483  2357 /usr/libexec/gsd-color      gsd-color        0.2  0.8
    1     0 /usr/lib/systemd/systemd -- systemd          0.0  0.2
    2     0 [kthreadd]                  kthreadd         0.0  0.0
    4     2 [kworker/0:0H]              kworker/0:0H     0.0  0.0
    6     2 [mm_percpu_wq]              mm_percpu_wq     0.0  0.0
    7     2 [ksoftirqd/0]               ksoftirqd/0      0.0  0.0
    8     2 [rcu_sched]                 rcu_sched        0.0  0.0
    9     2 [rcu_bh]                    rcu_bh           0.0  0.0

 

 

실시간 메모리 사용율이 높은 프로세스 top 10 확인

1
2
3
4
5
6
7
8
9
10
11
$ ps aux --sort -%mem | head -10
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle   31268  0.0 14.7 1723884 596124 ?      Ss   Jan25   6:44 ora_mmon_ORCL19
oracle   31301  0.0 12.3 1612280 498324 ?      Ss   Jan25  16:46 ora_cjq0_ORCL19
oracle   29439  0.0 12.1 1605464 490004 ?      Ss   Feb11   1:08 ora_m007_ORCL19
oracle   31523  0.0 10.5 1603204 423900 ?      Ss   Jan25   0:33 ora_q002_ORCL19
oracle   31235  0.0 10.2 1608096 412400 ?      Ss   Jan25   8:22 ora_dbrm_ORCL19
oracle   31258  0.0  9.6 1613456 390700 ?      Ss   Jan25   0:37 ora_w000_ORCL19
oracle   11121  0.0  9.6 1597124 387440 ?      Ss   Feb10   1:43 ora_m001_ORCL19
oracle   31252  0.0  9.5 1595300 383716 ?      Ss   Jan25   0:40 ora_smon_ORCL19
oracle    6287  0.0  9.2 1595080 372488 ?      Ss   Feb11   0:58 ora_m005_ORCL19

 

 

memory 전체 결과 대신 pid랑 command 등 특정 컬럼만 보고싶다면 아래 명령을 수행하면됨

1
2
3
4
5
6
7
8
9
10
11
$ ps -eo pid,ppid,cmd,comm,%cpu,%mem --sort=-%mem | head -10
  PID  PPID CMD                         COMMAND         %CPU %MEM
31268     1 ora_mmon_ORCL19             ora_mmon_orcl19  0.0 14.7
31301     1 ora_cjq0_ORCL19             ora_cjq0_orcl19  0.0 12.3
29439     1 ora_m007_ORCL19             ora_m007_orcl19  0.0 12.1
31523     1 ora_q002_ORCL19             ora_q002_orcl19  0.0 10.5
31235     1 ora_dbrm_ORCL19             ora_dbrm_orcl19  0.0 10.2
31258     1 ora_w000_ORCL19             ora_w000_orcl19  0.0  9.6
11121     1 ora_m001_ORCL19             ora_m001_orcl19  0.0  9.6
31252     1 ora_smon_ORCL19             ora_smon_orcl19  0.0  9.5
 6287     1 ora_m005_ORCL19             ora_m005_orcl19  0.0  9.2

 

 

참조 : https://www.atlantic.net/vps-hosting/find-top-10-running-processes-by-memory-and-cpu-usage/