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

서버모니터링 top실무8편: 프로세스들의 우선순위 변경하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

서버모니터링 top실무8: 프로세스들의 우선순위 변경하기

 

 

 

 

우리는 이미 앞에서 nice renice편에서 프로세스의 모든 프로세스에 존재하는 NICE값을 조절하여 프로세스 우선순위를 조절하는 방법에 대해서 배웠다.

 

 

 

 

 

리눅스 서버는 다중사용자(Multi-User), 다중프로세스(Multi-Process)환경의 운영체제이므로 많은 프로세스들이 동시에 실행되고 있다.

 

 

 

  이들 프로세스들은 모두 그 우선순위를 가지고 있으며 리눅스 시스템에서는 실행중인 프로세스들의 우선순위를 조절하여 특정프로세스가 먼저 실행되도록 할 수 있다.

 

 

 

 

 

top을 실행한 후에 우리는 이 NICE값을 변경하여 특정프로세스의 우선순위를 변경할 수 있다.

 

 

 

  , 아래의 예는 top을 실행한 후에 특정프로세스의 NICE값을 변경하기 위하여 r을 입력한 것이다.

 

 

 

 

 

top - 01:10:21 up  6:24,  3 users,  load average: 0.83, 0.67, 0.52

Tasks:  97 total,   1 running,  96 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.7%us,  4.7%sy,  0.0%ni,  0.0%id, 90.6%wa,  0.7%hi,  3.3%si,  0.0%st

Mem:   1033816k total,   985284k used,    48532k free,    46360k buffers

Swap:  2096472k total,        4k used,  2096468k free,   804444k cached

PID to renice: 2565

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

 2277 root      20   0 10388 2972 2372 S  4.6  0.3   0:16.39 sshd                               

 2564 root      20   0  5648 1188  948 D  3.7  0.1   0:03.28 tar                                

 2565 root      20   0  2108  600  244 S  1.3  0.1   0:22.09 gzip                                

    1 root      20   0  2008  768  564 S  0.0  0.1   0:01.51 init                               

    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd

 

, 위와 같이 gzip프로세스의 PID 2565를 입력하였다.

 

 

 

 , gzip프로세스의 NICE값을 변경하기 위함이다.

 

 

 

  (원래 초기 gzip프로세스의 NICE값은 0. 초기 디폴트값)

 

그런 다음 아래와 같이 2565프로세스에 대한 NICE값으로 -20을 입력하였다.

 

 

 

 , 최고 우선순위를 지정한 것이다.

 

 

 

 

 

top - 01:10:21 up  6:24,  3 users,  load average: 0.83, 0.67, 0.52

Tasks:  97 total,   1 running,  96 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.7%us,  4.7%sy,  0.0%ni,  0.0%id, 90.6%wa,  0.7%hi,  3.3%si,  0.0%st

Mem:   1033816k total,   985284k used,    48532k free,    46360k buffers

Swap:  2096472k total,        4k used,  2096468k free,   804444k cached

Renice PID 2565 to value: -20

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

 2277 root      20   0 10388 2972 2372 S  4.6  0.3   0:16.39 sshd                               

 2564 root      20   0  5648 1188  948 D  3.7  0.1   0:03.28 tar                                 

 2565 root      20   0  2108  600  244 S  1.3  0.1   0:22.09 gzip                               

    1 root      20   0  2008  768  564 S  0.0  0.1   0:01.51 init                               

    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd

 

주의 할 것은 “Renice PID 2565 to value :”에서 지정할 수 있는 값의 범위는 -20부터 19까지라는 점이다.

 

 

 

  -20이 가장 높은 우선순위를 의미하고, 19는 가장 낮은 우선순위를 의미한다.

 

 

 

 우리는 여기서 gzip프로세스의 NICE값으로 -20을 입력하였다.

 

 

 

 

 

top - 01:11:31 up  6:25,  3 users,  load average: 0.98, 0.75, 0.56

Tasks:  97 total,   2 running,  95 sleeping,   0 stopped,   0 zombie

Cpu(s): 21.5%us, 14.7%sy,  0.0%ni,  0.0%id, 60.2%wa,  0.7%hi,  2.9%si,  0.0%st

Mem:   1033816k total,  1017316k used,    16500k free,    40204k buffers

Swap:  2096472k total,       24k used,  2096448k free,   838812k cached

 

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

 2565 root       0 -20  2108  600  244 S 29.2  0.1   0:28.30 gzip                               

 2564 root      20   0  5648 1188  948 R  9.6  0.1   0:08.06 tar                                

 2277 root      20   0 10388 2972 2372 S  4.3  0.3   0:20.05 sshd                               

  203 root      15  -5     0    0    0 S  0.3  0.0   0:00.29 kswapd0                             

 2165 root      20   0 10388 2972 2372 S  0.3  0.3   2:48.84 sshd                               

 2568 root      20   0  2428 1040  836 R  0.3  0.1   0:00.06 top                                

    1 root      20   0  2008  768  564 S  0.0  0.1   0:01.51 init                               

    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd

 

 

 

 

그 결과 위의 예에서 PID 2565 gzip프로세스의 NICE값이 원래 0이었지만 -20으로 재설정되어 있다는 것을 알 수 있다.

 

 

 

 그리고 눈여겨 볼것은 PR항목(Priority)값이 원래 20에서 0으로 재조정되었다는 것도 함께 알 수 있다.

 

 

 

 

 

이미 앞에서 NICE값을 -20부터 19까지 조절하면서 각각의 프로세스의 우선순위 값을 0부터 39까지 조절할 수 있다는 것을 배웠다.

 

관련자료

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

공지사항


뉴스광장


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