nice·renice
쉽게 말하면
여러 프로그램이 컴퓨터를 나눠 쓸 때 누가 먼저 쓸지 정하는 '양보 정도'를 바꾸는 명령이에요. 숫자가 클수록 많이 양보해요. 누구나 양보는 할 수 있지만, 새치기(숫자 낮추기)는 관리자만 할 수 있어요.
시험용 정의
nice는 명령을 처음 실행할 때 우선순위(nice 값)를 정하고, renice는 이미 실행 중인 프로세스의 nice 값을 바꾼다. 일반 사용자는 값을 올리기(양보)만 할 수 있고, 낮추기(우선순위 높이기)는 root만 된다.
비유로 이해하기
줄 서기에서 "먼저 가세요" 하고 양보하는 정도다. 누구나 더 양보할 수는 있지만, 새치기(우선순위 높이기)는 관리자만 허락한다.
자세히
PR과 NI
top의 PR은 커널 우선순위로 보통 20 + NI로 보인다(NI 0 → PR 20, NI -20 → PR 0, NI 19 → PR 39). ps -l의 PRI는 80 + NI로 보인다. 둘 다 숫자가 작을수록 우선순위가 높다.
시험에 이렇게 나와요
- NI 값 범위 → −20 ~ 19(작을수록 우선순위 높음, 기본 0)
nice bash→ 새 bash를 우선순위를 낮춰(NI +10) 실행- 우선순위를 높여 실행 →
nice --10 bash(NI −10, root만).nice -10은 +10이라는 함정 - 실행 중 프로세스 변경 →
renice 값 PID(예: renice 10 1222).renice bash -10처럼 이름을 쓰면 사용법 오류 - NI·PRI 값 확인 →
ps -l또는 top, 커널 우선순위 항목 이름 → PRI
확인 문제
Q1. nice 값이 -10인 프로세스와 10인 프로세스 중 CPU를 더 많이 받는 쪽은?
- nice 값은 메모리와 관련 있다
- -10
- 10
- 같다
정답 보기
2번 -10
nice 값은 "남에게 얼마나 양보하는가(착함)"다. 클수록 착해서 양보(우선순위 낮음), 작을수록 욕심(우선순위 높음). 범위는 -20(가장 높음) ~ 19(가장 낮음), 기본 0.
Q2. root가 bash를 우선순위를 높여(NI −10) 실행하는 명령은?
- renice -10 bash
- nice --10 bash
- nice +10 bash
- nice -10 bash
정답 보기
2번 nice --10 bash
옛 문법에서 nice -10은 +10, nice --10이 −10.
Q3. renice 사용법으로 잘못된 것은?
- renice 10 -u kim
- renice 10 1222
- renice 5 -p 1222
- renice bash -10
정답 보기
4번 renice bash -10
renice는 PID·사용자·그룹을 받는다. 프로그램 이름은 받지 않는다.
Q4. nice 값의 범위로 옳은 것은?
- 0 ~ 99
- 1 ~ 40
- -19 ~ 20
- -20 ~ 19
정답 보기
4번 -20 ~ 19
-20(가장 높음) ~ 19(가장 낮음).
Q5. 실행 중인 PID 1500의 nice 값을 5로 바꾸는 명령은?
- renice -p 5 1500
- nice 5 -p 1500
- nice -n 5 1500
- renice 5 -p 1500
정답 보기
4번 renice 5 -p 1500
renice 5 -p 1500이다. 이미 실행 중인 프로세스는 renice로 바꾼다. nice는 새로 실행할 때 값을 준다.
Q6. nice vi처럼 값을 주지 않으면 nice 값은 얼마나 증가하는가?
- 1
- 5
- 10
- 19
정답 보기
3번 10
10이다. 값을 주지 않으면 nice 값을 10 올려(우선순위를 낮춰) 실행한다.
헷갈리기 쉬운 O·X
nice 값이 클수록 CPU 우선순위가 높다.
정답 보기
X 클수록 양보(우선순위 낮음).
일반 사용자는 자신의 프로세스 nice 값을 음수로 낮출 수 있다.
정답 보기
X root만 가능.
renice는 이미 실행 중인 프로세스의 우선순위를 바꾼다.
정답 보기
O 맞는 설명이다.