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

프로세스 실행우선순위 설정을 위한 nice

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

프로세스 실행우선순위 설정을 위한 nice




 

리눅스시스템은 다중사용자(Multi-User), 다중프로세스(Multi-Process)환경의 운영체제이기에 많은 사용자와 함께 많은 프로세스들이 동시에 실행되는 시스템입니다. 

 

 

 

 따라서 시스템 사용자에 따라서 권한과 특권이 주어지는 경우가 있는 것처럼, 실행되고 있는 프로세스들에게도 급하게 빨리 실행되어야 하는 것이 있고 반면에 천천히 실행되어도 괜찮은 프로세스들이 있습니다. 

 

 

 

 실행되고 있는 모든 프로세스에는 우선순위(priority)라는 것이 있고 우선순위는 해당 프로세스의 시스템 자원할당량을 조절합니다. 

 

 

 

 , 자원할당(CPU시간, MEMORY 사용량 ) 많이 받는 프로세스는 당연히 실행속도가 빨라집니다. 

 

 

 

 , 우선순위가 높은 프로세스는 실행속도가 빨라지게 됩니다. 

 

 

 

 

 

결론적으로 nice라는 명령어는 특정 프로세스가 실행될 때에 우선순위를 지정할 있는 것으로서 실행속도를 높일 있도록 합니다. 

 

 

 

 그리고 이미 실행중인 프로세스에 대한 우선순위를 재설정할 있는 것은 renice라는 명령어입니다. 

 

 

 

 따라서 이번 장의 nice명령어와 함께 책의 renice명령어를 반드시 함께 보시기 바랍니다. 

 

 

 

 또한 책의 top편에는 우선순위에 관한 자세한 설명이 되어 있습니다. 

 

 

 

  3가지를 함께 보시면 매우 효과적입니다. 

 

 

 

 

 

리눅스시스템의 프로세스들은 모두 우선순위를 가지고 있다고 하였습니다. 

 

 

 

 , 이번 장에서는 실행중인 프로세스들의 우선순위를 조절하여 특정 프로세스가 빠르게 실행이 되도록 하는 방법에 대해서 배울 것입니다. 

 

 

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

 

 

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

 

 

 

 

 

그리고 특정 NICE값의 지정 없이 일반적인 방법으로 실행된 프로세스들의 우선순위(Priority)값은 모두 20(default)이며 NICE값은 0(default)입니다. 

 

 

 

 우선순위 값은 0(가장 높은 우선순위, 가장 빠르게 실행됨)부터 39(가장 낮은 우선순위, 가장 느리게 실행됨)까지 가능하며 NICE값은 -20부터 19까지 가능합니다. 

 

 

 

 그리고 우선순위와 NICE값은 각각 아래와 같이 매칭됩니다. 

 

 

 

 

 

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까지 조절할 있다는 의미가 됩니다. 

 

 

 

 이제부터 이에 대한 예를 보도록 하겠습니다. 

 

 

 

 

 

명령어위치 : /bin/nice

 

사용방법   : nice [옵션] [명령어 [인자]...]

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,811 개
  • 현재 접속자 :  147 명