상세 컨텐츠

본문 제목

[Linux] top 태스크 모니터링

Linux

by 힐둔 2021. 8. 9. 14:34

본문

 top은 ps와 마찬가지로 프로세스에 대한 정보를 모니터링 할 때 사용됩니다.

 

시스템의 요약 정보와 현재 Linux kernel에서 관리하는 프로세스 또는 쓰레드 목록을 보여 줍니다. 이 명령을 실행하면 위쪽 절반 부분에 프로세스 및 리소스 사용 통계가 포함되는 대화식 명령 모드가 열립니다. 그리고 하단에는 현재 실행 중인 프로세스 목록이 포함되어 있습니다. 실행 시 옵션을 포함하거나 top 실행 중 명령을 입력해서 원하는 출력을 볼 수 있습니다.

 

  • PID : 작업의 고유 프로세스 ID
  • USER : 작업 소유자의 사용자 이름
  • PR : 작업의 우선 순위
  • NI : 우선 순위, nice 값이 음수이면 우선 순위가 높음.
  • VIRT Virtual Image (kb) : 작업에서 사용한 총 가상 메모리
  • RES Resident size (kb) : Task에서 사용하는 non-swapped된 물리적 메모리
  • SHR :Shared Mem size (kb) : 작업에서 사용하는 공유 메모리의 양
  • S : 프로세스 상태
    • D: Uninterruptible sleep
    • R: Running
    • S: Sleeping
    • T: Traced (stopped)
    • Z: Zombie
  • %CPU : CPU 사용량
  • %MEM : 작업의 메모리 사용량
  • TIME+ : CPU 시간, 'TIME'과 동일하지만 ms로 표시됨.

사용법과 주요 사용 예제

top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...]

 

10번 업데이트 후 종료

top -n 10

: 10회 출력, 3초마다 한번씩(default) 업데이트 되므로 총 30초가 소요됨.

  업데이트 주기 (interval)는 실행 시 옵션이나 interactive command mode에서 변경 가능.

 

특정 user 지정

top -u root (user name)

 

CPU 사용량 출력

top -b -n1 | grep -Eo '[0-9.]+ id' | awk '{print 100-$1}'

 : batch mode(-b)로 1회 출력(-n1)하고,

  출력된 결과중 CPU idle %를 가져온 후 (grep -Eo '[0-9.]+ id'), 100에서 이 값을 빼줌

 

실행중인 프로세스 확인 하기 (interactive command mode)

top 이후에 z 입력 - 실행중인 프로세스의 색깔을 변경해서 보여줌

 

실행중인 프로세스의 절대경로 보기 (interactive command mode)

top 이후에 ‘c‘ 입력 - 실행중 process의 경로 정보 보여줌


실행 시 옵션

   
-b : Batch mode operation Batch mode로 실행, top 실행중 명령어 입력이 안됨.
-c : Command line/Program name toggle Starts top with the last remembered 'c' state reversed. Thus, if top was displaying command lines, now that field will show program names, and visa versa. See the 'c' interactive command for additional information.
-d : Delay time interval as: -d ss.tt (seconds.tenths) 업데이트 주기를 지정해서 실행하기, 추후 top 실행 중에 'd'나 's'를 이용해서 interactive하게 변경할 수 있음.
-h : Help Show library version and the usage prompt, then quit.
-H : Threads toggle Starts top with the last remembered 'H' state reversed. When this toggle is On, all individual threads will be displayed. Otherwise, top displays a summation of all threads in a process.
-i : Idle Processes toggle Starts top with the last remembered 'i' state reversed. When this toggle is Off, tasks that are idled or zombied will not be displayed.
-m : VIRT/USED toggle Reports USED (sum of process rss and swap total count) instead of VIRT
-M : Detect memory units Show memory units (k/M/G) and display floating point values in the memory summary.
-n : Number of iterations limit as: -n number Specifies the maximum number of iterations, or frames, top should produce before ending.
-p : Monitor PIDs as: -pN1 -pN2 ... or -pN1, N2 [,...] Monitor only processes with specified process IDs. This option can be given up to 20 times, or you can provide a comma delimited list with up to 20 pids. Co-mingling both approaches is permitted.This is a command-line option only. And should you wish to return to normal operation, it is not necessary to quit and and restart top -- just issue the '=' interactive command.
-s : Secure mode operation Starts top with secure mode forced, even for root. This mode is far better controlled through the system configuration file 
-S : Cumulative time mode toggle Starts top with the last remembered 'S' state reversed. When 'Cumulative mode' is On, each process is listed with the cpu time that it and its dead children have used. See the 'S' interactive command for additional information regarding this mode.
-u : Monitor by user as: -u somebody Monitor only processes with an effective UID or user name matching that given.
-U : Monitor by user as: -U somebody Monitor only processes with a UID or user name matching that given. This matches real, effective, saved, and filesystem UIDs.
-v : Version Show library version and the usage prompt, then quit.

3. INTERACTIVE Commands

   
<Enter> or <Space  
'?' or 'h' :Help  
=' :Exit_Task_Limits  
'A' :Alternate_Display_Mode_toggle  
'B' :Bold_Disable/Enable_toggle  
 'd' or 's' :Change_Delay_Time_interval  
'G' :Choose_Another_Window/Field_Group  
'I' :Irix/Solaris_Mode_toggle  
'u' :select a user  
'U' :select a user  
'k' :Kill_a_task  
'q' :Quit  
'r' :Renice_a_Task  
'W' :Write_the_Configuration_File  
'Z' :Change_Color_Mapping  

3b. SUMMARY Area Commands

   
'l' :Toggle_Load_Average/Uptime -- On/Off  
'm' :Toggle_Memory/Swap_Usage -- On/Off  
't' :Toggle_Task/Cpu_States -- On/Off  
'1' :Toggle_Single/Separate_Cpu_States -- On/Off  

 


3c. TASK Area Commands

   
'b' :Bold/Reverse_toggle  
'x' :Column_Highlight_toggle  
'y' :Row_Highlight_toggle  
'z' :Color/Monochrome_toggle  
'c' :Command_Line/Program_Name_toggle  
'f' and 'o' :Fields_select or Order_fields  
'H' :Threads_toggle  
'S' :Cumulative_Time_Mode_toggle  
'u' :Show_Specific_User_Only  
'i' :Idle_Processes_toggle  
'n' or '#' :Set_Maximum_Tasks  

관련글 더보기

댓글 영역