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 / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux sudo 명령어로 허용된 명령을 root 또는 다른 사용자 권한으로 실행하는 방법을 설명합니다. 주요 옵션, 인증 캐시, 리디렉션 문제, visudo와 최소 권한 sudoers 설정 원칙을 정리합니다.

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

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

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

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

Linux systemctl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

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

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux unzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / fsck - 파일 시스템 오류 검사와 복구 시 주의점

Linux / 명령어 / fsck - 파일 시스템 오류 검사와 복구 시 주의점

Linux fsck 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / top - 프로세스 자원 사용량 실시간 확인

Linux / 명령어 / top - 프로세스 자원 사용량 실시간 확인

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

Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux tree 명령어로 디렉터리와 파일 구조를 계층적으로 확인하는 방법을 설명합니다. 설치, 깊이 제한, 숨김 파일, 제외 패턴, 크기·권한 표시와 JSON 저장 방법까지 정리합니다.

Linux / 명령어 / clear - 터미널 화면 정리

Linux / 명령어 / clear - 터미널 화면 정리

Linux clear 명령어로 터미널 화면을 정리하는 방법을 설명합니다. 스크롤백을 보존하는 -x 옵션과 Ctrl+L·reset·tput의 차이, TERM 오류 해결법을 다룹니다.

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

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

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