Linux / 명령어 / nice - 새 명령의 CPU 우선순위 조정

nice는 새 명령을 시작할 때 CPU 스케줄링에 사용되는 nice 값을 지정합니다. 기본값보다 큰 nice 값은 일반적으로 다른 작업에 CPU를 양보하기 쉬운 방향입니다.

nice 명령어란?

Linux의 일반적인 nice 값 범위는 -20부터 19까지이며 값이 낮을수록 더 높은 우선순위입니다. nice는 이미 실행 중인 프로세스를 바꾸지 않습니다. 실행 중인 작업에는 renice를 사용하세요.

기본 문법

nice -n 조정값 명령 [인수 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man nice으로 현재 시스템의 설명을 확인하세요.

사용 예제

낮은 우선순위로 시작

기본 nice 값보다 10 높여 읽기 작업을 시작합니다.

nice -n 10 sha256sum large.log

기본 증가값으로 시작

GNU 구현에서 조정값을 생략하면 기본 증가값을 사용합니다.

nice sha256sum large.log

실제 값 확인

실행 중인 작업의 NI 열을 확인합니다.

ps -p 1234 -o pid,ni,cmd

새 프로세스의 nice 값 확인하기

nice는 새로 시작하는 프로세스의 스케줄링 nice 값을 설정합니다. 다음은 시험용 sleep을 값 10으로 시작한 뒤 확인하는 예제입니다.

nice -n 10 sleep 60 &
ps -o ni,comm -p $!

예시 출력:

 NI COMMAND
 10 sleep

$!는 가장 최근 백그라운드 프로세스의 PID입니다. 일반적으로 숫자가 클수록 CPU 스케줄링 우선순위가 낮아지지만, 이는 CPU 사용량 상한을 뜻하지 않습니다. 이미 실행 중인 프로세스의 값을 바꾸려면 renice를 사용하세요.

주요 옵션과 형식

옵션·형식 설명
-n 값 기존 nice 값을 기준으로 새 명령의 조정값을 지정합니다.
--adjustment=값 GNU 구현의 긴 옵션 형식입니다.
인수 없는 실행 GNU 구현에서 현재 nice 값을 출력합니다.

사용할 때 주의할 점

nice 값은 CPU 스케줄링의 힌트이지 실행 시간을 보장하거나 메모리·디스크 I/O 우선순위를 함께 바꾸는 기능이 아닙니다. nice 값을 낮춰 우선순위를 높이는 작업은 일반 사용자에게 허용되지 않을 수 있습니다. 큰 부하 문제는 원인 프로세스와 자원 종류를 먼저 확인하세요.

자주 묻는 질문

nice -n 10은 10만큼 더 빨라지나요?

아니요. 값이 커지면 보통 CPU 우선순위가 낮아지는 방향이며, 처리 속도의 일정한 배수를 뜻하지 않습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 nice 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / umask - 새 파일·디렉터리 기본 권한 제한

Linux / 명령어 / umask - 새 파일·디렉터리 기본 권한 제한

Linux umask 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / printenv - 환경 변수 값 출력

Linux / 명령어 / printenv - 환경 변수 값 출력

Linux printenv 명령어로 전체 또는 특정 환경 변수 값을 확인하는 방법을 설명합니다. 셸 변수와 환경 변수의 차이, 종료 상태, NUL 구분 출력과 env와의 차이를 정리합니다.

Linux 강좌 / 프로세스 확인·일시정지·종료하기

Linux 강좌 / 프로세스 확인·일시정지·종료하기

ps, top, pgrep으로 프로세스의 상태와 자원 사용량을 확인합니다. 실습 프로세스에 STOP, CONT, TERM을 보내고 셸 작업과 서비스의 차이를 익힙니다.

Linux 강좌 / 리눅스란 무엇인가? 커널, 배포판, 오픈 소스 이해하기

Linux 강좌 / 리눅스란 무엇인가? 커널, 배포판, 오픈 소스 이해하기

리눅스 커널과 배포판은 어떻게 다를까요? 사용자 공간과 오픈 소스의 의미를 구분하고, 현재 시스템의 커널·배포판 정보를 확인하는 방법을 알아봅니다.

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux tail 명령어로 파일의 마지막 행과 바이트를 확인하고 새로 추가되는 로그를 추적하는 방법을 설명합니다. -n, -f, -F 차이와 로그 로테이션, 필터링 및 여러 파일 모니터링 예제를 정리합니다.

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux cmp 명령어로 두 파일을 바이트 단위로 비교하는 방법을 설명합니다. 첫 차이 위치, 조용한 검사, 모든 차이 출력과 종료 상태 활용법을 정리합니다.

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux truncate 명령어로 파일 크기를 지정하거나 늘리고 줄이는 방법을 설명합니다. 희소 파일, 상대 크기 조정, 기준 파일과 같은 크기로 맞추는 방법 및 데이터 손실 주의점을 알아봅니다.

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux tac 명령어로 파일의 줄 순서를 뒤집어 마지막 줄부터 출력하는 방법을 설명합니다. 여러 파일 처리, 구분자 변경과 로그 확인 예제를 함께 정리합니다.

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Bash help 명령어로 셸 내장 명령과 문법의 도움말을 확인하는 방법을 설명합니다. 출력 형식, 패턴 검색, type·man·--help와의 차이 및 스크립트 활용법을 정리합니다.