"리눅스 nice, renice"의 두 판 사이의 차이

잔글 (로봇: 자동으로 텍스트 교체 (-<source lang='dos'> +<source lang='cli'>))
11번째 줄: 11번째 줄:
*nice 커널 호출에 매핑됨
*nice 커널 호출에 매핑됨
*커널 스케줄러 내에 해당 프로세스의 우선순위를 지정함
*커널 스케줄러 내에 해당 프로세스의 우선순위를 지정함
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# cat /etc/security/limits.conf | grep nice
[root@jmnote ~]# cat /etc/security/limits.conf | grep nice
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - nice - max nice priority allowed to raise to values: [-20, 19]
17번째 줄: 17번째 줄:


*기본 nice 값은 부모 프로세스의 것을 따르며, 보통 0
*기본 nice 값은 부모 프로세스의 것을 따르며, 보통 0
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# nice
[root@jmnote ~]# nice
0
0
</source>
</source>
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# ps -o pid,nice,cmd 1
[root@jmnote ~]# ps -o pid,nice,cmd 1
   PID  NI CMD
   PID  NI CMD
32번째 줄: 32번째 줄:


==실습==
==실습==
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# echo 'while true; do sleep 1; done' > repeat.sh
[root@jmnote ~]# echo 'while true; do sleep 1; done' > repeat.sh
[root@jmnote ~]# nice -n 19 sh repeat.sh &
[root@jmnote ~]# nice -n 19 sh repeat.sh &
38번째 줄: 38번째 줄:
</source>
</source>
:→ niceness를 19(최저)로 하여 repeat.sh을 백그라운드 실행함
:→ niceness를 19(최저)로 하여 repeat.sh을 백그라운드 실행함
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
  2997  19 sh repeat.sh
  2997  19 sh repeat.sh
</source>
</source>
:→ niceness 19로 수행중 (PID는 2997)
:→ niceness 19로 수행중 (PID는 2997)
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# renice -n -20 -p 2997
[root@jmnote ~]# renice -n -20 -p 2997
2997: old priority 19, new priority -20
2997: old priority 19, new priority -20
</source>
</source>
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
  2997 -20 sh repeat.sh
  2997 -20 sh repeat.sh
</source>
</source>
:→ niceness가 -20(최고)으로 변경되어 수행중
:→ niceness가 -20(최고)으로 변경되어 수행중
<source lang='dos'>
<source lang='cli'>
[root@jmnote ~]# kill 2997
[root@jmnote ~]# kill 2997
[1]+  Terminated              nice -n 19 sh repeat.sh
[1]+  Terminated              nice -n 19 sh repeat.sh

2015년 2월 6일 (금) 03:49 판

nice
/bin/nice
나이스
renice
/usr/bin/renice
리나이스

1 nice

  • niceness(CPU 스케줄링 우선순위)를 지정하는 리눅스 명령어
  • nice 커널 호출에 매핑됨
  • 커널 스케줄러 내에 해당 프로세스의 우선순위를 지정함
[root@jmnote ~]# cat /etc/security/limits.conf | grep nice
#        - nice - max nice priority allowed to raise to values: [-20, 19]
  • 기본 nice 값은 부모 프로세스의 것을 따르며, 보통 0
[root@jmnote ~]# nice
0
[root@jmnote ~]# ps -o pid,nice,cmd 1
  PID  NI CMD
    1   0 /sbin/init
init 프로세스도 niceness가 0임

2 renice

  • 수행중인 프로세스의 우선순위를 변경하는 리눅스 명령어

3 실습

[root@jmnote ~]# echo 'while true; do sleep 1; done' > repeat.sh
[root@jmnote ~]# nice -n 19 sh repeat.sh &
[1] 2997
→ niceness를 19(최저)로 하여 repeat.sh을 백그라운드 실행함
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
 2997  19 sh repeat.sh
→ niceness 19로 수행중 (PID는 2997)
[root@jmnote ~]# renice -n -20 -p 2997
2997: old priority 19, new priority -20
[root@jmnote ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
 2997 -20 sh repeat.sh
→ niceness가 -20(최고)으로 변경되어 수행중
[root@jmnote ~]# kill 2997
[1]+  Terminated              nice -n 19 sh repeat.sh
[root@jmnote ~]# rm -f repeat.sh
→ 프로세스 종료시키고 repeat.sh 삭제

4 같이 보기

5 참고 자료