본문 바로가기

리눅스/명령어

[프로세스 우선순위 - nice , renice]

nice


설명

프로세스가 실행될 떄 실행 우선순위를 조정. (NI값 변경)

커다란 프로그램을 컴파일 할 떄와 같이 CPU나 메모리를 많이 쓰게 될 경우 

시스템 속도를 저하시키기 떄문에 다른 프로세스에게 우선순위 값을 줄 떄 사용.


특징

① 기본 nice 값은 보통 0으로 시작한다.

② -20 ~ 19 까지 순위 값을 조정할 수 있으며 , -20이 우선순위가 가장 높고 19가 가장 낮다.

③ 일반 유저는 값을 증가만 할 수 있다. (우선순위가 높은 특수 프로세스를 지키기 위해)

빨간박스 : 프로세스의 우선순위 값


명령어

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

nice [프로세스] (기존 값에서 10 증가)




Renice


설명

실행중인 프로세스에 대한 nice 값을 변경.

nice는 프로세스명으로 우선순위를 조정하고 , 명령을 실행하면 새로운 프로세스가 발생하지만

renice는 PID로 우선순위를 조정하고 기존의 프로세스 우선순위 값을 추가없이 바로 수정한다.


특징

① 기존의 NI 값에 상관없이 지정한 NI 값이 바로 설정된다. (nice와 다름)

② root만이 우선순위 값을 감소할 수 있다. (범위는 -20부터 19 nice와 동일)


명령어

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




실습

1) NICE

[root@localhost /]# ps -l

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

0 S     0   2907   2905  0  80   0 - 27112 wait   pts/0    00:00:00 bash

4 R     0   4209   2907  0  80   0 - 27034 -      pts/0    00:00:00 ps


[root@localhost /]# nice -n 15 bash
[root@localhost /]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S     0   2907   2905  0  80   0 - 27112 wait   pts/0    00:00:00 bash
0 S     0   4256   2907  0  95  15 - 27084 wait   pts/0    00:00:00 bash
4 R     0   4265   4256  0  95  15 - 27034 -      pts/0    00:00:00 ps

bash 프로세스의 우선순위 값을 기존의 값에서 15 증가시킨다.
renice 명령어와는 달리 새로운 프로세스가 추가되며 , 기존 프로세스의 NI 값에서 증가 또는 감소된다.

2) RENICE
[root@localhost /]# renice 10 2907
2907: old priority 0, new priority 10
[root@localhost /]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S     0   2907   2905  0  90  10 - 27112 wait   pts/0    00:00:00 bash
4 R     0   4287   2907  0  90  10 - 27034 -      pts/0    00:00:00 ps

nice 명령과는 달리 프로세스를 추가 시키지 않으며 기존 NI값과 상관없이 지정한 값으로 변경한다.


[test1@localhost ~]$ renice 10 4001


일반 계정(test1)으론 NI값을 증가시킬 수는 있다. (감소는 안됨)

4001: old priority 10, new priority 10

[test1@localhost ~]$ ps -l

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 S   603   4001   4000  0  90  10 - 27084 wait   pts/1    00:00:00 bash

0 R   603   4297   4001  0  90  10 - 27033 -      pts/1    00:00:00 ps

[test1@localhost ~]$ renice 0 4001

renice: 4001: setpriority: 허가 거부


renice 명령이든 nice 명령이든 일반유저는 NI값을 증가만 가능하다.



'리눅스 > 명령어' 카테고리의 다른 글

[메모리 상태 확인 - vmstat]  (0) 2017.11.05
[백그라운드 프로세스 - nohup]  (0) 2017.11.05
[파일 시스템 검사 - fsck]  (0) 2017.11.03
[파일시스템 변경 - tune2fs]  (0) 2017.11.03
[파티션 명령어 - fdisk , mkfs]  (0) 2017.11.01