강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

실행중인 프로세스의 우선순위를 변경할 수 있는 renice 활용법: 최상위 또는 최하위 우선순위로 변경하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

실행중인 프로세스의 우선순위를 변경할 수 있는 renice 활용법: 최상위 또는 최하위 우선순위로 변경하기

 

 

 

 

 

이번에는 이미 실행중인 특정프로세스에 대한 우선순위를 최상위 우선순위로 설정하는 것과 최하위 우선순위로 설정하는 예를 보도록 하자.

 

먼저 최상위 우선순위를 지정하는 예이다.

 

 

 

 , 현재 실행중인 프로세스에게 최상위 우선순위를 부여하고 다른 프로세스들 보다 더 많은 시스템자원 사용률을 할당하여 결론적으로 실행속도를 더욱 빠르게하는 방법이다.

 

 

 

 

 

앞에서 이미 실행해 두었던 tar프로세스를 ps명령어로 확인하고 renice명령어를 이용하여 2898 PID프로세스에 대하여 -20이라는 NICE값을 설정하였다.

 

 

 

 앞에서 설명하였듯이 NICE값이 -20이면 우선순위는 0임을 의미하고 최상위 우선순위임을 의미한다.

 

 

 

 

 

[root@sulinux backup]# ps -ef | grep tar

root      2898  2821 26 04:49 pts/2    00:01:57 tar cvfz usr.tar.gz /usr

root      2908  2821  0 04:56 pts/2    00:00:00 grep tar

[root@sulinux backup]#

[root@sulinux backup]# renice -20 -p 2898

2898: old priority 5, new priority -20

[root@sulinux backup]#

 

 

 

그 결과를 확인하기 위하여 다음은 top을 실행해 보았다.

 

 

 

 그 결과 tar프로세스의 PR값이 0이 되어있고, NI값은 -20으로 재설정되어 있다.

 

 

 

 , PR 0이므로 최상위 우선순위가 되었기에 시스템의 자원들을 가장많이 할당받게 된다.

 

 

 

 , 실행속도가 그 만큼 더 빨라지게 된다는 것을 의미한다.

 

 

 

 

 

top - 04:52:44 up  2:06,  4 users,  load average: 0.98, 0.53, 0.21

Tasks:  87 total,   2 running,  85 sleeping,   0 stopped,   0 zombie

Cpu(s):  1.1%us,  6.4%sy,  0.0%ni,  0.0%id, 92.6%wa,  0.0%hi,  0.0%si, 

Mem:   1033816k total,   726956k used,   306860k free,   100256k buffers

Swap:  2096472k total,        0k used,  2096472k free,   496484k cached

 

  PID USER      PR  NI  VIRT S %CPU %MEM    TIME+  SWAP CODE COMMAND   

 2898 root       0 -20  5648 R  7.9  0.1   0:46.74 4464  272 tar       

 2899 root      20   0  2108 S  2.9  0.1   0:20.34 1504   60 gzip      

 2902 root      20   0  2428 R  1.0  0.1   0:00.65 1384   60 top       

    1 root      20   0  2008 S  0.0  0.1   0:01.50 1240  124 init      

    2 root      15  -5     0 S  0.0  0.0   0:00.00    0    0 kthreadd

 

 

 

 

이번 예에서는 이미 실행중인 특정프로세스에 대하여 최상위 우선순위를 설정하는 renice명령어에 대하여 알아보았다.

 

 

 

 

 

 

이번에는 좀 전의 경우와 반대의 예로서 renice를 이용하여 이미 실행중인 특정프로세스에 대하여 최하위 우선순위로 변경하는 예이다.

 

 

 

 

 

다음은 ps로 앞에서 실행해 둔 tar프로세스를 확인한 후에 renice를 실행하였다.

 

 

 

  PID 2898번 프로세스(tar프로세스)에 대하여 NICE값으로 19를 지정하였다.

 

 

 

 

 

[root@sulinux backup]# ps -ef | grep tar

root      2898  2821 26 04:49 pts/2    00:01:57 tar cvfz usr.tar.gz /usr

root      2908  2821  0 04:56 pts/2    00:00:00 grep tar

[root@sulinux backup]#

[root@sulinux backup]# renice 19 -p 2898

2898: old priority -20, new priority 19

[root@sulinux backup]#

 

 

 

 

그리고 다음은 재설정한 tar프로세스의 우선순위를 확인하기 위하여 top을 실행하였다.

 

 

 

 아래 tar프로세스를 확인해 보면 PR값이 39이며, NI값이 19이다.

 

 

 

 , 앞의 renice명령에 의해 NICE값이 19로 재설정되었기 때문에 우선순위 값이 39로 설정되어 최하위 우선순위를 가지게 되었다.

 

 

 

 

 

top - 04:54:29 up  2:08,  4 users,  load average: 1.17, 0.72, 0.31

Tasks:  87 total,   3 running,  84 sleeping,   0 stopped,   0 zombie

Cpu(s):  1.3%us, 22.8%sy,  0.0%ni,  0.0%id, 75.9%wa,  0.0%hi,  0.0%si, 

Mem:   1033816k total,   985360k used,    48456k free,   103540k buffers

Swap:  2096472k total,        0k used,  2096472k free,   742596k cached

 

  PID USER      PR  NI  VIRT S %CPU %MEM    TIME+  SWAP CODE COMMAND   

 2898 root      39  19  5748 R 28.9  0.1   1:19.00 4480  272 tar       

 2899 root      20   0  2108 S 10.9  0.1   0:33.04 1504   60 gzip      

 2906 root      20   0  2428 R  1.0  0.1   0:00.03 1384   60 top       

    1 root      20   0  2008 S  0.0  0.1   0:01.50 1240  124 init      

    2 root      15  -5     0 S  0.0  0.0   0:00.00    0    0 kthreadd

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  97 명