본문 바로가기
강의 실습/비전공자도 이해할 수 있는 리눅스 입문 실전

컴퓨터가 느려질 때 CPU, Memory 성능 체크해서 원인 파악하기 (top)

by jint 2025. 11. 28.

1. 컴퓨터가 느려질 때 CPU, Memory 성능 체크하기 (top)
윈도우 컴퓨터에서 동시에 여러 프로그램을 많이 키면 속도가 느려지고 버벅거릴 때가 있다. 이 때 작업 관리자 창을 켜서 원인이 되는 프로그램을 파악한다.
컴퓨터는 CPU 나 메모리가 부족하면 렉이 걸리기 때문에, CPU 또는 메모리 사용률이 높은 프로그램이 원인일 가능성이 높다.
리눅스 컴퓨터에서도 작업 관리자 창처럼 CPU 와 메모리 성능을 체크할 수 있는 명령어가 있다.

top : CPU, Memory 성능 체크

컴퓨터가 느려질 때 딱 3가지만 체크한다.

- Ubuntu

ubuntu@ip-172-31-39-75:~$ top
top - 10:27:55 up 89 days,  7:00,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 109 total,   1 running, 108 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
MiB Mem :    914.2 total,    185.1 free,    508.2 used,    399.4 buff/cache     
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    406.1 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                     
 409500 ubuntu    20   0   12364   5776   3600 R   0.3   0.6   0:00.29 top                                                                                                                                         
      1 root      20   0   22552  10480   6256 S   0.0   1.1   2:33.84 systemd                                                                                                                                     
      2 root      20   0       0      0      0 S   0.0   0.0   0:01.38 kthreadd                                                                                                                                    
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release                                                                                                                      
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_gp                                                                                                                            
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-sync_wq                                                                                                                           
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-kvfree_rcu_reclaim                                                                                                                
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_flushwq                                                                                                                      
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns                                                                                                                             
     11 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri                                                                                                                 
     13 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-mm_percpu_wq                                                                                                                      
     14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_rude_kthread                                                                                                                      
     15 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_trace_kthread                                                                                                                     
     16 root      20   0       0      0      0 S   0.0   0.0   0:04.92 ksoftirqd/0                                                                                                                                 
     17 root      20   0       0      0      0 I   0.0   0.0   2:14.97 rcu_sched                                                                                                                                   
     18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_exp_par_gp_kthread_worker/0                                                                                                             
     19 root      20   0       0      0      0 S   0.0   0.0   0:00.24 rcu_exp_gp_kthread_worker                                                                                                                   
     20 root      rt   0       0      0      0 S   0.0   0.0   0:50.77 migration/0                                                                                                                                 
     21 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/0                                                                                                                               
     22 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0                                                                                                                                     
     23 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1                                                                                                                                     
     24 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/1                                                                                                                               
     25 root      rt   0       0      0      0 S   0.0   0.0   0:31.14 migration/1                                                                                                                                 
     26 root      20   0       0      0      0 S   0.0   0.0   0:04.64 ksoftirqd/1                                                                                                                                 
     28 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri                                                                                                                 
     29 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs                                                                                                                                   
     30 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-inet_frag_wq                                                                                                                      
     31 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd                                                                                                                                     
     32 root      20   0       0      0      0 S   0.0   0.0   0:02.33 khungtaskd                                                                                                                                  
     34 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper                                                                                                                                  
     36 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-writeback                                                                                                                         
     37 root      20   0       0      0      0 S   0.0   0.0   5:10.67 kcompactd0                                                                                                                                  
     38 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd
ubuntu@ip-172-31-39-75:~$


1) %CPU(s) 항목에서 id 부분의 값이 CPU의 여유 정도를 나타낸다. 99.8 id 라는 뜻은 컴퓨터에서 여유로운 CPU 비중이 99.8% 라는 뜻이다. 만약 이 값의 숫자가 작다면 컴퓨터가 버벅거릴 가능성이 크다.
2) MiB Mem 항목에서 free 부분의 값은 남아있는 메모리의 크기를 나타낸다. 185.1 free 라는 뜻은 185.1MB 만큼의 사용할 수 있는 여분의 메모리가 있다는 뜻이다. 만약 이 값의 숫자가 0 에 가깝다면 컴퓨터가 버벅거릴 가능성이 크다.
3) 위 1), 2)번 수치를 확인했을 때 CPU 또는 메모리가 부족하다면, 어떤 프로세스에서 CPU 와 메모리를 많이 잡아먹고 있는지 파악 한다.
나열된 프로세스 중 CPU 또는 메모리의 사용률이 높은 프로세스가 있는지 체크하면 된다. 편리하게도 top 명령어가 CPU 사용률이 높은 프로세스를 알아서 상위로 노출시켜준다.

CPU 또는 메모리 사용률이 높은 프로세스는 PID 를 확인하여 종료시킬 수 있다.
top 명령어를 종료시키려면 Ctrl + c 를 누르면 된다.


참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90%EB%8F%84-%EC%9D%B4%ED%95%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9E%85

 

비전공자도 이해할 수 있는 리눅스 입문/실전| JSCODE 박재성 - 인프런 강의

현재 평점 5.0점 수강생 306명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 '리눅스 입문' 강의를 만들어봤습니다! 리눅스를 처음 배우시는 분, Per

www.inflearn.com

댓글