공든탑앱 열기

nice·renice

리눅스마스터 2급 · 프로세스 관리 · 약 10분

쉽게 말하면

여러 프로그램이 컴퓨터를 나눠 쓸 때 누가 먼저 쓸지 정하는 '양보 정도'를 바꾸는 명령이에요. 숫자가 클수록 많이 양보해요. 누구나 양보는 할 수 있지만, 새치기(숫자 낮추기)는 관리자만 할 수 있어요.

시험용 정의

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로 보인다. 둘 다 숫자가 작을수록 우선순위가 높다.

시험에 이렇게 나와요

확인 문제

Q1. nice 값이 -10인 프로세스와 10인 프로세스 중 CPU를 더 많이 받는 쪽은?

  1. nice 값은 메모리와 관련 있다
  2. -10
  3. 10
  4. 같다
정답 보기

2번 -10

nice 값은 "남에게 얼마나 양보하는가(착함)"다. 클수록 착해서 양보(우선순위 낮음), 작을수록 욕심(우선순위 높음). 범위는 -20(가장 높음) ~ 19(가장 낮음), 기본 0.

Q2. root가 bash를 우선순위를 높여(NI −10) 실행하는 명령은?

  1. renice -10 bash
  2. nice --10 bash
  3. nice +10 bash
  4. nice -10 bash
정답 보기

2번 nice --10 bash

옛 문법에서 nice -10은 +10, nice --10이 −10.

Q3. renice 사용법으로 잘못된 것은?

  1. renice 10 -u kim
  2. renice 10 1222
  3. renice 5 -p 1222
  4. renice bash -10
정답 보기

4번 renice bash -10

renice는 PID·사용자·그룹을 받는다. 프로그램 이름은 받지 않는다.

Q4. nice 값의 범위로 옳은 것은?

  1. 0 ~ 99
  2. 1 ~ 40
  3. -19 ~ 20
  4. -20 ~ 19
정답 보기

4번 -20 ~ 19

-20(가장 높음) ~ 19(가장 낮음).

Q5. 실행 중인 PID 1500의 nice 값을 5로 바꾸는 명령은?

  1. renice -p 5 1500
  2. nice 5 -p 1500
  3. nice -n 5 1500
  4. renice 5 -p 1500
정답 보기

4번 renice 5 -p 1500

renice 5 -p 1500이다. 이미 실행 중인 프로세스는 renice로 바꾼다. nice는 새로 실행할 때 값을 준다.

Q6. nice vi처럼 값을 주지 않으면 nice 값은 얼마나 증가하는가?

  1. 1
  2. 5
  3. 10
  4. 19
정답 보기

3번 10

10이다. 값을 주지 않으면 nice 값을 10 올려(우선순위를 낮춰) 실행한다.

헷갈리기 쉬운 O·X

nice 값이 클수록 CPU 우선순위가 높다.

정답 보기

X 클수록 양보(우선순위 낮음).

일반 사용자는 자신의 프로세스 nice 값을 음수로 낮출 수 있다.

정답 보기

X root만 가능.

renice는 이미 실행 중인 프로세스의 우선순위를 바꾼다.

정답 보기

O 맞는 설명이다.

함께 보면 좋은 개념