본문 바로가기

리눅스-기초명령어/프로세스 관리

nice, renice

nice 

 

사용법

nice [-n 조정수치][프로세스]
nice [프로세스]

 

프로세스가 실행될 때, 실행 우선순위를 조정한다. (NI값을 변경시킨킨다.)

시스템 속도를 저하시키기 때문에 다른 프로세스에게 우선순위 값을 주려고 할 때 사용된다. nice 수치가 높을수록 우선순위에서 떨어지며 음수값으로 갈수록 프로세스 점유율이 높다.

[일반 유저는 우선순위를 낮추는것만 가능하다.]

 

예시

nice 값 조절해서 프로세스 만들기

[root@Linux ~]# nice -n 10 sleep 300 &
[1] 64051
[root@Linux ~]# ps -o pid,comm,nice 64051
    PID COMMAND          NI
  64051 sleep            10

 

nice 값 올리기

[root@Linux ~]# ps -o pid,comm,nice | grep bash
  62441 bash              0
[root@Linux ~]# nice -5 bash #bash의 우선순위를 5 낮춘다.
[root@Linux ~]# ps -o pid,comm,nice | grep bash
  62441 bash              0
  64267 bash              5

 

renice 

하나 이상의 실행 중인 프로세스의 실행 우선순위 값을 변경한다. nice는 프로세스명으로 우선순위를 조절하는 반면, renice는 PID로 우선순위를 조정하고, 기존의 프로세스 우선순위 값을 추가없이 바로 수정한다.



사용법

renice [옵션][변경할 NI값][PID]

 

nice는 프로세스명으로 우선순위를 조절하는 반면, 

renice는 PID로 우선순위를 조정한다. 

기존의 프로세스 우선순위 값을 추가없이 바로 수정한다.

일반 유저는 값을 올리는 것만 할 수 있다

 

옵션

  • -u : 사용자 이름을 지정
  • -g : 프로세스의 그룹 ID를 지정
  • -n : NI값을 지정할 때 사용하는 옵션이지만 일반적으로 생략한다.(--priority)
  • -p : 프로세스 ID(PID)를 지정하는 옵션이다.(기본값)

 

예시

renice를 통한 실행중인 프로세스의 우선순위 바꾸기

[root@Linux ~]# sleep 300 &
[1] 64412

[root@Linux ~]# ps -o pid,comm,nice | grep sleep
  64412 sleep             5
[root@Linux ~]# renice -n -5 64412
64412 (process ID) old priority 5, new priority -5
[root@Linux ~]# ps -o pid,comm,nice | grep sleep
  64412 sleep            -5

 

참고

[admin@Linux ~]$ renice -5 9901
renice: failed to set priority for 9901 (process ID): Permission denied

renice 명령어는 root계정이아닌 일반계정은 nice 값을 올릴수는 있지만 내릴수는 없다.

 

 

우선 순위에 따른 cpu 사용량

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND 
  4369 root       0 -20  225336   2280   1824 R  16.7   0.0   1:25.29 sha1sum 
  4411 root      20   0  225336   2276   1824 R  16.2   0.0   0:34.97 sha1sum 
  4372 root      30  10  225336   2252   1800 R  12.2   0.0   1:12.66 sha1sum 
  4371 root      35  15  225336   2264   1812 R   2.9   0.0   0:55.91 sha1sum 
  4370 root      39  19  225336   2280   1824 R   1.7   0.0   0:56.22 sha1sum

 

'리눅스-기초명령어 > 프로세스 관리' 카테고리의 다른 글

w  (1) 2023.08.31
pgrep  (0) 2023.08.31
kill 명령어  (0) 2023.08.31
jobs, bg, fg  (1) 2023.08.31
top, htop  (0) 2023.08.31