< nice 값 의미 >

 

linux 상에서 process 가 실행될 때, nice 라는 값을 갖고 실행됨.

nice 값은 process 간 실행 우선순위를 의미함.

 

< process 우선순위의 의미 >

 

우선순위가 언제 의미가 있을까? 상황을 하나 가정해보자.

예를 들어 굉장히 길고 자원을 많이 먹는 process 가 동작할 때

높은 우선순위로 동작한다면

다른 process 들이 실행되지 못할 것임.

그래서 무거운 process 에게 낮은 우선순위를 줘서 다른 process 보다

덜 실행되게 만들어 효율적인 멀티태스킹 환경을 구성할 수 있음.

 

이런 상황에서 nice 값을 조정하여 process 간 우선순위를 줄 수 있다.

 

< nice 값 정보 >

 

nice 값은 -20부터 19까지 줄 수 있다.

따로 지정해주지 않았을 경우, default nice 값은 0이다.

nice 값이 낮을수록(-20에 가까울수록) 우선순위가 높아진다.

nice 값이 높을수록(19에 가까울수록) 우선순위가 낮아진다.

일반 유저는 process 의 nice 값을 높여서 우선순위를 낮추는 방향으로만 조절이 가능하다.

nice값을 낮춰서 우선순위를 높이는 방향으로는 조절이 불가능하다.

왜냐하면 우선순위가 높은 특수한 process 들을 지키기 위해.

일반 유저가 아닌 root 관리자는 nice 값을 높이고 낮출 수 있다.

 

ps -el, top, mpstat 등의 명령어로 process 의 nice 값을 확인할 수 있다.

참고 : https://eyeballs.tistory.com/403

 

< nice 명령어 >

 

nice -n [n] [process 명] : n만큼 process 의 nice 값이 증가된 상태로 process 실행 

 ( nice -[n] [process 명] 으로도 사용 가능 )

nice [process 명] : process 의 nice 값이 10만큼 증가된 상태로 process 실행

 

< renice 명령어 >

 

nice 명령어가 실행 전 process 에 nice 값을 조정하여 process 를 실행시킨다면,

renice 는 이미 실행중인 process 의 nice 값을 조정한다.

 

renice [n] [PID] : 실행중인 process 가 갖는 nice 값을 n 으로 변경(증가가 아니라 그대로 n으로 변경).

 

< PR 이란 >

 

process 의 우선순위를 논할 때 nice 값(NI) 외에 priority 값(PRI)이 존재.

다음 스크린샷은 ps -l 명령어의 결과임

 

https://linuxhint.com/ps_command_linux-2/

PRI 란, 운영체제에서 참고하는 우선순위.

시스템 상황에 따라 알아서 부여되기 때문에, 사용자 입장에서 조작이 불가능

NI 는 사용자가 조작이 가능한 우선순위.

 

 

 

 

참고

https://jhnyang.tistory.com/394

https://chloro.tistory.com/106

 

 

+ Recent posts