리눅스 nice, renice

Jmnote bot (토론 | 기여)님의 2017년 7월 11일 (화) 03:57 판 (봇: 자동으로 텍스트 교체 (-==참고 자료== +==참고==))
nice
/bin/nice
나이스
renice
/usr/bin/renice
리나이스

1 nice

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

2 renice

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

3 실습

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

4 같이 보기

5 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}