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

잔글 (봇: 자동으로 텍스트 교체 (-<source +<syntaxhighlight , -</source> +</syntaxhighlight>))
 
(사용자 2명의 중간 판 14개는 보이지 않습니다)
8번째 줄: 8번째 줄:


==nice==
==nice==
{{참고|리눅스 nice}}
*[[niceness]](CPU 스케줄링 우선순위)를 지정하는 리눅스 명령어
*[[niceness]](CPU 스케줄링 우선순위)를 지정하는 리눅스 명령어
*nice 커널 호출에 매핑됨
*nice 커널 호출에 매핑됨
*커널 스케줄러 내에 해당 프로세스의 우선순위를 지정함
*커널 스케줄러 내에 해당 프로세스의 우선순위를 지정함
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# cat /etc/security/limits.conf | grep nice
[root@zetawiki ~]# 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]
</source>
</syntaxhighlight>


*기본 nice 값은 부모 프로세스의 것을 따르며, 보통 0
*기본 nice 값은 부모 프로세스의 것을 따르며, 보통 0
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# nice
[root@zetawiki ~]# nice
0
0
</source>
</syntaxhighlight>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# ps -o pid,nice,cmd 1
  PID  NI CMD
    1  0 /sbin/init
</syntaxhighlight>
:→ [[init 프로세스]]도 niceness가 0임


==renice==
==renice==
*수행중인 프로세스의 우선순위를 변경하는 리눅스 명령어
{{참고|리눅스 renice}}
* 수행중인 프로세스의 우선순위를 변경하는 리눅스 명령어


==실습==
==실습==
*용량에 주의! 전체 파일시스템을 모든 파일을 압축하는 실습임.
<syntaxhighlight lang='console'>
<source lang='dos'>
[root@zetawiki ~]# echo 'while true; do sleep 1; done' > repeat.sh
[root@jmnote ~]# nice -n 19 tar cfvj root.bz2 /
[root@zetawiki ~]# nice -n 19 sh repeat.sh &
tar: Removing leading `/' from member names
[1] 2997
/
</syntaxhighlight>
/lost+found/
:→ niceness를 19(최저)로 하여 repeat.sh을 백그라운드 실행함
/lib/
<syntaxhighlight lang='console'>
... (생략)
[root@zetawiki ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
</source>
  2997 19 sh repeat.sh
:→ 계속 실행되도록 그대로 두고 따로 SSH 접속하여 계속
</syntaxhighlight>
<source lang='dos'>
:→ niceness 19로 수행중 (PID는 2997)
[root@jmnote ~]# ps -eo pid,nice,cmd | grep root.bz2 | grep -v grep
<syntaxhighlight lang='console'>
  2965 19 tar cfvj root.bz2 /
[root@zetawiki ~]# renice -n -20 -p 2997
</source>
2997: old priority 19, new priority -20
:→ niceness 19로 수행중
</syntaxhighlight>
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# renice -n 10 -p 2965
[root@zetawiki ~]# ps -eo pid,nice,cmd | grep repeat.sh | grep -v grep
2965: old priority 19, new priority 10
  2997 -20 sh repeat.sh
</source>
</syntaxhighlight>
<source lang='dos'>
:→ niceness가 -20(최고)으로 변경되어 수행중
[root@jmnote ~]# ps -eo pid,nice,cmd | grep root.bz2 | grep -v grep
<syntaxhighlight lang='console'>
  2965 10 tar cfvj root.bz2 /
[root@zetawiki ~]# kill 2997
</source>
[1]+ Terminated              nice -n 19 sh repeat.sh
[root@zetawiki ~]# rm -f repeat.sh
</syntaxhighlight>
:→ 프로세스 종료시키고 repeat.sh 삭제


==같이 보기==
==같이 보기==
*[[리눅스 무한반복 스크립트 repeat.sh]]
*[[/etc/security/limits.conf]]
*[[리눅스 niceness]]
*[[리눅스 niceness]]
*[[/etc/security/limits.conf]]
*[[top]]
*[[top]]
*[[ps]]
*[[ps]]
59번째 줄: 71번째 줄:
*[[ionice]]
*[[ionice]]


==참고 자료==
==참고==
*https://en.wikipedia.org/wiki/Nice_(Unix)
*https://en.wikipedia.org/wiki/Nice_(Unix)
[[분류: Coreutils]]
[[분류: Coreutils]]
[[분류: /bin]]
[[분류: /bin]]
[[분류: /usr/bin]]
[[분류: /usr/bin]]
[[분류: 리눅스 프로세스]]

2021년 9월 24일 (금) 23:22 기준 최신판

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 }}