Linux

[리눅스] nice, renice 명령어 완벽 가이드 사용법(프로세스 우선순위 변경)

인생아 2024. 10. 18. 23:00
반응형

리눅스에서 nicerenice 명령어는 프로세스의 우선순위를 설정하고 관리하는 데 사용됩니다. CPU 자원을 어떻게 분배할지를 결정하는 중요한 명령어로, 시스템 성능을 최적화하거나 백그라운드에서 실행되는 작업의 우선순위를 조정하는 데 매우 유용합니다. 프로세스의 우선순위는 nice 값으로 정의되며, 값이 낮을수록 높은 우선순위를 가집니다.

nice 명령어

nice 명령어는 새로운 프로세스를 실행할 때 그 프로세스의 우선순위를 설정합니다. 기본적으로 모든 프로세스는 0의 nice 값을 가지지만, nice 명령어를 사용하여 우선순위를 변경할 수 있습니다. nice 값은 -20에서 19 사이의 숫자로 표현되며, -20에 가까울수록 높은 우선순위를, 19에 가까울수록 낮은 우선순위를 의미합니다.

기본 형식:

nice -n [nice 값] [실행할 명령어]

nice 명령어 예제

만약 nice 값을 10으로 설정하여 새로운 프로세스를 실행하고 싶다면 다음과 같이 입력합니다.

user@linux:~$ nice -n 10 python3 myscript.py

위 명령어는 python3 myscript.py 스크립트를 nice 값 10으로 실행하여 CPU 자원을 다른 작업보다 덜 사용하는 상태로 실행합니다.

nice 값이 적용된 프로세스 확인

ps 명령어와 -l 옵션을 사용하면 프로세스의 nice 값을 확인할 수 있습니다.

user@linux:~$ ps -l
F S   UID   PID  PPID  C PRI  NI   ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000  5678  1234  0  80  10 -  1438 wait   pts/0    00:00:01 python3

여기서 NI 필드는 프로세스의 nice 값을 나타냅니다.

renice 명령어

renice 명령어는 실행 중인 프로세스의 우선순위를 변경하는 데 사용됩니다. nice 명령어가 프로세스를 실행할 때 우선순위를 설정하는 반면, renice는 이미 실행 중인 프로세스의 우선순위를 동적으로 조정할 수 있습니다.

기본 형식:

renice [nice 값] -p [프로세스 ID]

renice 명령어 예제

예를 들어, PID가 5678인 프로세스의 우선순위를 nice 값 -5로 변경하려면 다음과 같이 입력합니다.

user@linux:~$ sudo renice -5 -p 5678
5678 (process ID) old priority 10, new priority -5

이 명령어는 프로세스 5678기존 nice 값 10-5로 변경합니다. 실행 결과는 변경된 우선순위를 출력하며, sudo 권한이 필요합니다.

특정 사용자나 그룹의 프로세스 우선순위 변경

renice는 프로세스 ID뿐만 아니라 사용자(user)그룹(group)의 모든 프로세스 우선순위도 변경할 수 있습니다.

사용자 user1의 모든 프로세스의 우선순위를 15로 설정하려면:

user@linux:~$ sudo renice 15 -u user1

nice와 renice 명령어의 주요 차이점

  • nice: 새로운 프로세스를 실행할 때 우선순위를 설정
  • renice: 이미 실행 중인 프로세스의 우선순위를 변경

참고사이트

반응형