renice란 무엇인가?
`nice`가 프로그램을 **시작할 때** 우선순위를 정한다면, `renice`는 **이미 돌아가고 있는** 프로그램의 우선순위를 바꿀 때 사용합니다. (Re-Nice)
핵심 특징
프로세스 ID(PID)를 알아야 사용할 수 있습니다.
- 대상: 실행 중인 프로세스 (PID), 특정 사용자의 모든 프로세스 (User), 특정 그룹 (Group)
- 범위: -20 (최우선/이기적) ~ 19 (후순위/양보). 기본값은 0입니다.
- 권한 제약: 일반 사용자는 우선순위를 낮추는 것(값을 높이는 것)만 가능합니다. 우선순위를 높이려면(값을 낮추려면)
sudo가 필요합니다.
주요 옵션 (Shell)
`renice`는 **변경할 값(Niceness)**과 **대상(PID)**을 지정하는 구조입니다. 보통 `renice [값] -p [PID]` 형태를 많이 씁니다.
1. 우선순위 값 및 대상 지정
2. 도움말
생성된 명령어:
명령어를 조합해 보세요.
설명:
`renice` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 시나리오 예시
실무에서 시스템 랙을 줄이거나 긴급 작업을 처리할 때 사용하는 패턴입니다.
특정 프로세스(PID) 우선순위 낮추기
renice -n 10 -p 9876
PID가 9876인 프로세스의 나이스 값을 10으로 변경하여 자원을 덜 쓰게 만듭니다. (일반 사용자 가능)
우선순위 높이기 (긴급 처리)
sudo renice -n -5 -p 1234
PID 1234에게 더 많은 CPU를 할당합니다. (음수 값 부여, **sudo 필수**)
특정 사용자의 모든 작업 조절
sudo renice -n 5 -u user1
`user1`이 실행 중인 모든 프로세스의 우선순위를 5로 변경합니다.
PID 찾아서 바로 적용하기
renice -n 10 -p $(pidof myscript.sh)
`pidof` 명령어로 프로세스 ID를 찾아 바로 넘겨주는 응용법입니다.
설치
renice는 `util-linux` 패키지에 포함된 기본 명령어로, 리눅스에 기본적으로 설치되어 있습니다.
설치 확인
별도 설치 없이 바로 사용 가능합니다.
팁 & 주의사항
유용한 팁
- Permission denied: 우선순위를 높이거나(값을 줄이거나), 다른 사용자의 프로세스를 건드릴 때는 반드시
sudo를 붙여야 합니다. - PID 확인법:
top,htop, 또는ps -ef | grep [이름]명령어로 PID를 먼저 확인하세요. - 상대값 vs 절대값: 일부 유닉스/리눅스 버전에 따라
renice가 현재 값에 더하는 방식(상대값)인지, 값을 덮어쓰는 방식(절대값)인지 다를 수 있습니다. 리눅스(util-linux)는 보통 절대값으로 설정됩니다.