> 프로세스 관리 > nice

nice: 우선순위를 조정하여 프로그램 실행

프로그램을 시작할 때 시스템 자원 점유 우선순위(Niceness)를 조정하여 실행합니다. 중요도가 낮은 작업(백업, 인코딩 등)이 시스템 속도를 저하시키지 않게 하거나, 반대로 중요한 작업에 우선권을 줄 때 사용합니다.

nice란 무엇인가?

리눅스에서 프로세스 우선순위는 'Niceness(나이스 값)'로 표현됩니다. `nice` 명령어는 이 값을 설정하여 프로그램을 실행합니다.

Niceness (나이스 값)의 이해

값이 **클수록 착한(Nice)** 프로세스입니다. 즉, 다른 프로세스에게 자원을 양보합니다.

  • 범위: -20 (가장 높은 우선순위/이기적) ~ 19 (가장 낮은 우선순위/양보)
  • 기본값: 0 (표준 우선순위)
  • 음수 사용: 우선순위를 높이는 것(음수 값)은 루트(root) 권한이 필요합니다.

주요 옵션 (Shell)

우선순위 값(`-n`)과 실행할 명령어를 조합하여 사용합니다.

1. 우선순위 지정 실행

2. 도움말

생성된 명령어:

명령어를 조합해 보세요.

설명:

`nice` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 시나리오 예시

실무에서 시스템 부하를 관리하기 위해 사용하는 패턴입니다.

낮은 우선순위로 백업 실행 (자원 양보)

nice -n 10 tar -czf backup.tar.gz /var/www

대용량 압축(`tar`) 작업을 수행할 때, 웹 서버 등 다른 중요 서비스가 느려지지 않도록 나이스 값을 10으로 높여(양보) 실행합니다.

매우 낮은 우선순위로 실행

nice -n 19 ./heavy_computation.sh

최대치인 19를 주어, 시스템이 한가할 때만 CPU를 사용하도록 합니다.

높은 우선순위로 실행 (루트 권한 필요)

sudo nice -n -10 ./critical_service

중요한 프로세스에 높은 우선순위(-10)를 부여하여 CPU를 선점하게 합니다. 음수 값 설정은 `sudo`가 필요합니다.

표기법 주의

nice -n -5 command

옵션 `-`와 음수 `-`가 만나면 `-10` 처럼 보일 수 있습니다. `nice -10`은 `nice -n 10`(양수 10)의 옛 표기법이므로 혼동을 피하기 위해 `-n`을 명시하는 것이 좋습니다.

설치

nice는 'GNU Coreutils'에 포함된 기본 명령어로, 거의 모든 리눅스 배포판에 기본 설치되어 있습니다.

설치 확인

별도 설치 없이 바로 사용할 수 있습니다.

팁 & 주의사항

nice vs renice

두 명령어의 차이점을 명확히 알아두세요.

  • nice: 명령어를 **새로 시작할 때** 우선순위를 부여합니다.
  • renice: **이미 실행 중인** 프로세스(PID)의 우선순위를 변경합니다.
  • 확인 방법: `top`이나 `htop`에서 `NI` 컬럼을 보면 현재 프로세스의 nice 값을 확인할 수 있습니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.



동일 카테고리 명령어