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

top실행결과화면에 프로세스들의 우선순위 조정하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

top실행결과화면에 프로세스들의 우선순위 조정하기





 

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

 

 

 

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

 

 

 

 

 

결론적으로 top 실행한 후에 NICE값을 조절하여 실행중인 특정 프로세스의 우선순위를 조절할 있습니다.  

 

 

 

  리눅스에서 프로세스들이 가질 있는 NICE값의 범위는 -20에서부터 19까지 입니다.  

 

 

 

 여기서 -20 가장 우선되는 스케줄링을 하게 되고 19 가장 최악의 스케줄링을 하게 됩니다.  

 

 

 

 여기서 스케줄링이란 자원사용에 대한 할당 스케줄링을 의미합니다.  

 

 

 

 

 

, NICE값은 시스템의 자원을 어떻게 할당하고 어떤 프로세스에게 보다 많은 자원을 할당하여 실행 우선권을 것인가를 결정하는 역할을 하는 값입니다.  

 

 

 

 

 

따라서 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으로 재조정 되었다는 것도 함께 있습니다.  

 

 

 

 이쯤에서 top화면에서 있는 NI항목(NICE) PR항목(Priority) 상관관계에 대해서 알아보겠습니다.  

 

 

 

 

 

구분

PR(Priority, 우선순위)

NI(NICE)

가장 높은 우선순위

0

-20

 

1

-19

 

2

-18

 

3

-17

 

4

-16

 

5

-15

 

6

-14

 

7

-13

 

8

-12

 

9

-11

 

10

-10

 

11

-9

 

12

-8

 

13

-7

 

14

-6

 

15

-5

 

16

-4

 

17

-3

 

18

-2

 

19

-1

디폴트 우선순위

20

0

 

21

1

 

22

2

 

23

3

 

24

4

 

25

5

 

26

6

 

27

7

 

28

8

 

29

9

 

30

10

 

31

11

 

32

12

 

33

13

 

34

14

 

35

15

 

36

16

 

37

17

 

38

18

가장 낮은 우선순위

39

19

 

우리는 이중에서 NICE값을 -20부터 19까지 조절하면서 각각의 프로세스의 우선순위 값을 0부터 39까지 조절할 있는 것입니다.  

 

 

 

  표의 상관관계를 이해하시기 바랍니다.  

 

 

 

  것은 책의 nice명령어와 renice명령어에서도 참고됩니다.  

 

 

 

 더불어 함께 보시기 바랍니다.  

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  77 명