강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

서버모니터링 top실무3편: top을 실행목적에 맞도록 실행 방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

서버모니터링 top실무3: top을 실행목적에 맞도록 실행 방법

 

 

 

 

 

 

이번에는 top을 우리가 원하는 목적에 맞도록 실행하는 몇가지 방법에 대해서 알아보도록 하자.

 

첫번째로서 top의 실행화면에서 각 프로세스의 실행인자들까지 모두 보여주는 실행방법이다.

 

 

 

 , 앞의 top활용예에서는 프로세스들의 이름만을 보여주었다.

 

 

 

 하지만 시스템관리자의 입장에서는 프로세스들에 대한 전체 명령행과 경로를 아는 것이 큰 도움이 될 때가 있다.

 

 

 

  이런 경우에 아래의 예와 같이 top명령어 사용시에 -c옵션을 사용하면 프로세스들의 전체 경로까지 표시해 준다.

 

 

 

 

 

아래는 “top -c”의 결과를 나타낸 것이다.

 

 

 

 

 

[root@sulinux ~]#top -c

 

top - 14:53:02 up 32 min,  1 user,  load average: 0.00, 0.00, 0.00

Tasks:  70 total,   1 running,  69 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.3%us,  0.4%sy,  0.0%ni, 98.7%id,  0.6%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:    255620k total,   109544k used,   146076k free,     9380k buffers

Swap:   522072k total,        0k used,   522072k free,    68148k cached

 

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

    1 root      15   0  2060  624  532 S    0  0.2   0:00.43 init [5]                                        

    2 root      RT  -5     0    0    0 S    0  0.0   0:00.02 [migration/0]                                    

    3 root      34  19     0    0    0 S    0  0.0   0:00.00 [ksoftirqd/0]                                   

    4 root      RT  -5     0    0    0 S    0  0.0   0:00.00 [watchdog/0]                                    

    5 root      RT  -5     0    0    0 S    0  0.0   0:00.00 [migration/1]                                   

    6 root      34  19     0    0    0 S    0  0.0   0:00.00 [ksoftirqd/1]                                   

    7 root      RT  -5     0    0    0 S    0  0.0   0:00.00 [watchdog/1]                                    

    8 root      10  -5     0    0    0 S    0  0.0   0:00.00 [events/0]                                      

    9 root      10  -5     0    0    0 S    0  0.0   0:00.00 [events/1]                                       

   10 root      18  -5     0    0    0 S    0  0.0   0:00.00 [khelper]                                       

   11 root      17  -5     0    0    0 S    0  0.0   0:00.00 [kthread]                                       

   15 root      13  -5     0    0    0 S    0  0.0   0:00.00 [kblockd/0]                                     

   16 root      15  -5     0    0    0 S    0  0.0   0:00.00 [kblockd/1]                                     

   17 root      14  -5     0    0    0 S    0  0.0   0:00.00 [kacpid]                                        

   79 root      14  -5     0    0    0 S    0  0.0   0:00.00 [cqueue/0]                                      

   80 root      14  -5     0    0    0 S    0  0.0   0:00.00 [cqueue/1]

 

 

 

프로세스들의 이름표시(COMMAND)필드에서 명령행 인자까지 모두 나타나는 것을 확인하기 바란다.

 

 

 

 시스템에서 사용되고있는 프로세스들 보다 정확한 정보를 얻기 위해서는 위의 예와 같이 -c옵션을 사용하기 바란다.

 

 

 

 

 

 

다음은 top의 실행화면이 갱신되는 시간을 지정하는 방법이다.

 

 

 

 앞서 설명하였듯이 top은 아무런 옵션없이 실행하면 3초에 한번씩 화면을 refresh하여 새롭게 갱신한다.

 

 

 

  하지만 다음과 같이 -d옵션을 사용하면 refresh를 원하는 간격단위(초단위)로 실행할 수 있다.

 

 

 

 

 

 refresh시간을 2초마다 한번씩하고자 한다면 아래의 예와 같이 “top -d 2”라고 하면된다.

 

 

 

 

 

[root@sulinux ~]#top -d 2

 

top - 14:54:33 up 33 min,  1 user,  load average: 0.00, 0.00, 0.00

Tasks:  70 total,   1 running,  69 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 98.7%id,  0.5%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:    255620k total,   109544k used,   146076k free,     9396k buffers

Swap:   522072k total,        0k used,   522072k free,    68148k cached

 

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

    1 root      15   0  2060  624  532 S    0  0.2   0:00.43 init                                            

    2 root      RT  -5     0    0    0 S    0  0.0   0:00.02 migration/0                                      

    3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0                                     

    4 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/0                                      

    5 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/1                                     

    6 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1                                     

    7 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/1                                      

    8 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/0                                        

    9 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/1                                        

   10 root      18  -5     0    0    0 S    0  0.0   0:00.00 khelper                                         

   11 root      17  -5     0    0    0 S    0  0.0   0:00.00 kthread                                          

   15 root      17  -5     0    0    0 S    0  0.0   0:00.00 kblockd/0                                       

   16 root      10  -5     0    0    0 S    0  0.0   0:00.00 kblockd/1                                       

   17 root      14  -5     0    0    0 S    0  0.0   0:00.00 kacpid                                          

   79 root      14  -5     0    0    0 S    0  0.0   0:00.00 cqueue/0

 

 

 

그리고 refresh시간을 5초마다 한번씩하고자 한다면 아래의 예와 같이 “top -d 5”이라고 하면된다.

 

 

 

 

 

[root@sulinux ~]#top -d 5

 

top - 14:54:49 up 33 min,  1 user,  load average: 0.00, 0.00, 0.00

Tasks:  70 total,   1 running,  69 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 98.7%id,  0.5%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:    255620k total,   109484k used,   146136k free,     9404k buffers

Swap:   522072k total,        0k used,   522072k free,    68148k cached

 

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

    1 root      15   0  2060  624  532 S    0  0.2   0:00.43 init                                            

    2 root      RT  -5     0    0    0 S    0  0.0   0:00.02 migration/0                                      

    3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0                                     

    4 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/0                                      

    5 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/1                                     

    6 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1                                     

    7 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/1                                      

    8 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/0                                        

    9 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/1                                         

   10 root      18  -5     0    0    0 S    0  0.0   0:00.00 khelper                                         

   11 root      17  -5     0    0    0 S    0  0.0   0:00.00 kthread                                         

   15 root      10  -5     0    0    0 S    0  0.0   0:00.00 kblockd/0                                       

   16 root      20  -5     0    0    0 S    0  0.0   0:00.00 kblockd/1                                       

   17 root      14  -5     0    0    0 S    0  0.0   0:00.00 kacpid

 

 

 

참고로 “top -d  0.5” 또는 “top -d  0.05”등과 같이 초 이하의 단위로도 실행이 가능하다.

 

 

 

 여러분 각자 한번 시도해 보기 바란다.

 

 

 

 혹 호기심이 많은 독자분들은 0.01 또는 0.001 또는 0.0001등과 같은 단위를 사용하여 top을 실행시켜보고 싶을 것이다.

 

 

 

 이것이 실행될까?라는 의문이 들겠지만 이럴때는 한번 해보라. 그리고 답을 스스로 구해보라. 물론 필자는 답을 알고 있으나 여러분들에게 맡기기로 한다.

 

 

 

 

 

 

그리고 top이 실행된 화면에서 사용자가 원할 때마다 refresh하려고 한다면 어떻게 하면될까?  즉 지연시간 없이 지속적으로 시스템상황을 갱신하여 모니터링 하려면 <Spacebar>를 계속 누르면 된다.

 

 

 

 

 

주의 할 것은 지속적으로 계속 <Spacebar>를 눌러 계속해서 top화면을 갱신하면 시스템에 큰 부하를 줄 수도 있기 때문에 꼭 필요한 경우가 아니라면 <Spacebar>를 계속해서 누르고 있는 것은 자제하는 것이 좋다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,157 명
  • 현재 강좌수 :  36,514 개
  • 현재 접속자 :  260 명