개발 창고/Server

[Linux] How to use NICE / RENICE

로이제로 2023. 11. 2. 22:00
반응형

 

How to use NICE / RENICE

 리눅스 시스템에서 프로세스의 상태를 보기 위해서 ps라는 명령을 사용합니다.

$> ps -el

ps -el 결과 화면

 

PRI와 NI

 프로세스의 우선순위를 나타내는 필드로 수치가 낮을 수록 우선순위가 높습니다.

  • PRI : 운영체제에서 참고하는 우선순위로 조작할 수 없습니다. 시스템 상황에 따라 부여되는 변경 불가능한 값입니다. 즉 NICE와 RENICE의 대상이 아닙니다.
  • NI : -20 ~19까지의 우선순위로 NICE, RENICE, TOP 등으로 조작할 수 있습니다. 하지만 관리자 계정(root)만 우선순위를 높일 수 있고, 일반 계정은 우선순위를 낮출 수 만 있습니다. (기본 값 0)

 

NICE 명령어

nice --help 결과

주요 옵션 내용
-n --adjustment=N 해당 프로세스의 NI 우선순위 값에 N만큼 우선 순위를 뒤로 보냅니다.
N값을 입력하지 않은 경우 기본 10 만큼 우선 순위를 뒤로 보냅니다.
# 프로세스 확인
$> ps -l

# bash 우선순위를 15만큼 후 순위로 변경
$> nice -n 15 bash

# 프로세스 확인
$> ps -l

nice를 이용하여 bash의 우선순위를 15 만큼 후순위로 보냄

 

# 프로세스 확인
$> ps -l

# bash 우선순위를 2만큼 후 순위로 변경
$> nice -2 bash

# 프로세스 확인
$> ps -l

nice 명령어를 이용하여 bash의 우선순위를 총 17 만큼 후순위로 보냄

 

# 프로세스 확인
$> ps -l

# bash 우선순위를 -20만큼 선 순위로 변경
$> nice -n -20 bash

# 프로세스 확인
$> ps -l

※ 해당 계정이 root계정이므로 바로 실행되지만, 일반 계정인 경우 Permission에러가 발생합니다.

전체 우선순위 값인 17 - 20 인 -3 만큼 우선순위가 올라 감

 

renice 명령어

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

renice --help 결과

주요 옵션 내용
-p --pid <id> 우선 순위를 변경할 Process의 ID값을 지정
디폴트 값이기 때문에 옵션을 붙이지 않아도 사용 가능합니다.
ex) renice N pid
-u --user <name|id> 특정 사용자를 지정해서 우선순위를 조정

 

▶︎ user1 계정으로 실행된 프로세스의 NI 프로세스 우선순위를 10으로 우선순위를 낮춥니다.

$> renice 10 -u user1

 

▶︎ bash의 PID를 확인하여 해당 프로세스의 우선순위를 10으로 변경.

# PID 확인
$> ps -l

# renice
$> renice 10 23076

# 우선순위 확인
$> ps -l

bash의 PID인 23076의 우선순위를 -3에서 10으로 변경

주의할 점은 우선순위를 연산한게 아닌 변경해주었다는 점입니다.

반응형

'개발 창고 > Server' 카테고리의 다른 글

[Linux] How to use the "touch" command  (0) 2023.11.03
[Linux] How to use the "locate" command  (0) 2023.11.02
[Linux] How to use "rpm" command  (0) 2023.11.01
[Linux] How to use "kill" command  (0) 2023.11.01
[Linux] How to use "tar" command  (2) 2023.10.31