서버호스팅, 코로케이션, 매니지드호스팅, IDC, 도메인, 웹호스팅 - KOREA IDC
KOREA IDC 바로가기 차이나 다이렉트 기업망 바로가기
 
  • IPS
  • 방화벽
  • 방역
  • SSL
  • IPS
  • 방화벽
  • 방역
  • SSL

프로세스 우선순위를 결정하는 nice(niceness) 와 renice 사용법 15361
2014/12/01 17:34:08

안녕하세요 KOREAIDC 운영자입니다.

 

리눅스에는 수많은 프로세스들이 실행되어 있으며 다중사용자,다중프로세스 환경의 운영체제이기 때문에 실행되고 있는 프로세스들의 우선순위가 필요하게 됩니다.

이중에 프로세스 우선순위를 조절하는 nice / renice 명령어에 대해서 소개할까 합니다.

 

nice 명령어(niceness)는 특정프로세스가 실행될 때 우선순위를 지정하여서 실행속도를 높여주는 도구입니다. 커다란 프로그램을 컴파일할때와 같이 cpu나 메모리를 많이 쓰게 될 경우에 전체 시스템 속도를 저하시켜 다운 된 것처럼 만들어버릴 수 있어서 다른 프로세스들에게 먼저 우선순위를 주는 역할을 해 줍니다. 기본 nice 값은 부모 프로세스의 것을 따르며 보통은 0으로 시작합니다. 일반적으로 프로세스들이 가질 수 있는 nice값 범위는 -20에서 19까지입니다. 여기서 -20이 가장 우선순위가 빠르고 +19는 가장 낮은 우선순위를 가지게 됩니다.

 

 

top명령어를 입력했을 때에 NI라고 되어있는 부분이 nice값을 가리킵니다. nice값을 지정하지 않고 일반적인 방법으로 프로세스를 실행하면 nice값은 기본값으로 0이 됩니다.

사용법은 nice n NICE값 실행할프로그램 으로 쓸수 있습니다.

예를들어 top을 -20값으로 설정해서 실행한다면

[root@localhost~]# nice n -20 top 이라는 명령어를 입력한결과

 

그림과 같이 top값의 NI값이 최우선순위로 온 것을 확인할 수 있습니다. 여기서 n 옵션을 넣지 않게되면 디폴트값인 10으로 적용이 되어지게 됩니다. 일반유저는 nice값을 0~20사이의 값으로 변경할 수 밖에 없으며 root권한으로만 nice값을  -20 ~19 사이에서 감소시키고 증가시킬 수 있습니다. 이러한 제한이 있는 이유는 특수 프로세스를 지키기 위함입니다.

 

[choijw@localhost~]# nice n -20 top

 

위와 같이 일반계정으로  최우선순위값인 -20 으로 변경시도시

허가가 거부된걸 확인할 수 있습니다.

[choijw@localhost~]# nice n 10 

 

위와같이 입력을 해야 정상적으로 nice값이 변경되는걸 확인할 수 있습니다.PHPxml:namespace prefix = o />

 

 

renice 명령어는 이미 실행되어 있는 포로세스의  대한 nice값을 변경할 수 있으며

프로세스에도 우선순위인 PR(priority)라는 것을 가지고 있습니다. 실행우선순위가 높으면 그많큼 더 많은 시스템자원을 할당받기 때문에 실행속도가 더 빨라지게 됩니다. 따라서 특정프로세스 실행을 다른 프로세스들보다 빠르게 실행하려면 renice명령어로 nice값을 변경하면 됩니다. 위에서도 간단하게 설명하였듯이 nice값이 -20이면 우선순위는 0이어서 가장 속도가 빠른 프로세스가 될 것이며  nice값이 +19이면 우선순위는 최하위인 39가 됩니다.

Renice의 옵션으로는 다음과 같이 있습니다.

 

-g :해당 그룹명 소유로 된 프로세스를 의미한다.

-u :지정한 사용자명의 소유로 된 프로세스를 의미한다.

-p :해당 프로세스의 PID를 지정한다.

 

 

사용예를 보이기 위해 /usr 전체를 압축보관하는 tar 프로세스를 추가하여서

renice값을 적용해 보겠습니다.

 

[root@localhost~]# tar cvfz usr.tar.gz /usr >& /dev/null &

 

위의 그림과 같이 top 명령어 입력한 후 tar가 있는 것이 보이실 것입니다.

 

tar의 우선순위를 p 옵션을 사용하여 PID값으로 renice값으로 변경해 보도록 하겠습니다.

 

[root@localhost~]# renice -20 p 16283

 

보시는 바와 같이 tar의 nice값이 -20으로 바뀐걸 확인 하실수 있습니다.

 

top 명령어 화면상에서도 nice값을 변경할 수 있습니다.

top화면 창에서 r 을 누르게 되면 renice를 할 PID를 입력하라고 나옵니다.

 

저는 top의 우선순위를 top상에서 바꿔보도록 하겠습니다.

 

 

PID to renice에다가 top의 PID값인 16348을 입력합니다.

 

Renice PID 16348 to value에서 -20 즉 최우선순위 값을 입력하겠습니다.

(여기에서 지정할수 있는 숫자는 -20 에서 19까지 입니다.)

 

위와같이 top의 nice값이 -20으로 바뀐걸 확인할 수 있습니다.

PR값도 15에서 -20으로 변화가 생긴 걸 확인 할 수 있습니다.

 

 

2014-12-01 17:39:56 에 내용이 수정되었습니다.
  
107 iis 설정 백업/복원, 이전 [0] 2015/05/15 12112
106 컴파일 빠르게 하기 [0] 2015/05/06 9236
105 rsync 및 scp 사용법 과 활용방법 [0] 2015/01/29 23095
프로세스 우선순위를 결정하는 nice(niceness) 와 renice 사용법 [0] 2014/12/01 15362
103 Htop( Linux Process Monitoring )사용법 [0] 2014/11/26 10307
102 (리눅스) volatility를 이용한 메모리 덤프 점검 [0] 2014/04/09 16193
101 nslookup 사용 방법 [0] 2013/12/20 11560
100 apache log rotate [0] 2013/12/13 11053
99 mysql에 입력했던 명령어(history)를 보기 [0] 2013/11/24 18255
98 named 체크 사용방법 [0] 2013/11/22 8044
97 mysql 설치 옵션 , 추천 옵션 정리 [0] 2013/11/20 6769
96 화이트 도메인 (White Domain) 등록 및 확인 방법 [0] kyo0162 2013/11/20 8660
95 Apache의 Worker / Prefork 방식의 차이점과 세팅 방법 [2] 2013/11/06 21018
94 mysql 5.6 설치 메뉴얼 [1] 2013/11/05 11104
93 whois, dig 사용방법 [0] 2013/11/01 6541
맨앞 이전  |1|2|3|4|5|6|7|8|  다음 맨뒤

하단메뉴
(주)인터넷나야나, 서울시 금천구 디지털로9길 99, 1107호(가산동) 전화: 1661-0900, 02-852-4745; 팩스: 02-852-4744
패밀리사이트
회사소개(새창열림) IDC소개 이용약관 개인정보취급방침 이메일무단수집거부 사이트맵 고객센터 인터넷나야나 바로가기(새창열림) 예로 바로가기(새창열림) 내선안내 메일보내기 server@koreaidc.com
네이버키워드광고
워드프레스호스팅