> 프로세스 관리 > nice

nice: 명령어 우선순위 조절

`nice` 명령어는 새로운 프로세스를 시작할 때 해당 프로세스의 스케줄링 우선순위(niceness)를 조절하는 데 사용됩니다. 이 우선순위는 시스템이 CPU 시간을 프로세스에 할당하는 방식에 영향을 미치며, 주로 백그라운드 작업이나 시스템 리소스를 많이 사용하는 작업의 우선순위를 낮춰 다른 중요한 작업에 영향을 주지 않도록 할 때 유용합니다.

개요

`nice`는 명령어가 실행될 때 커널 스케줄러에 의해 부여되는 우선순위인 'niceness' 값을 설정합니다. niceness 값은 -20(가장 높은 우선순위)부터 19(가장 낮은 우선순위)까지의 범위를 가집니다. 기본값은 0입니다.

주요 특징

  • niceness 값 범위: -20 (최고 우선순위) ~ 19 (최저 우선순위)
  • 기본 niceness 값: 0
  • 낮은 niceness 값 = 높은 우선순위
  • 높은 niceness 값 = 낮은 우선순위

주요 옵션

우선순위 조절

생성된 명령어:

명령어를 조합해 보세요.

설명:

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

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

사용 예시

낮은 우선순위로 명령어 실행

nice -n 10 tar -czf backup.tar.gz /home/user/data

tar 명령어를 기본값(0)보다 낮은 우선순위(niceness 10)로 실행하여 시스템 부하를 줄입니다.

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

sudo nice -n -10 stress --cpu 4

stress 명령어를 높은 우선순위(niceness -10)로 실행합니다. 음수 niceness 값은 루트 권한이 필요합니다.

niceness 값 없이 명령어 실행

nice long_running_script.sh

`nice` 명령어 뒤에 `-n` 옵션 없이 명령어를 실행하면, 기본적으로 niceness 값이 10 증가된 상태로 실행됩니다.

팁 & 주의사항

`nice` 명령어는 새로운 프로세스의 우선순위를 설정하는 데 사용되며, 이미 실행 중인 프로세스의 우선순위를 변경하려면 `renice` 명령어를 사용해야 합니다.

niceness 값 범위

niceness 값은 -20 (최고 우선순위)에서 19 (최저 우선순위)까지입니다. 기본값은 0입니다.

루트 권한

음수 niceness 값(더 높은 우선순위)을 설정하려면 루트 권한이 필요합니다. 일반 사용자는 양수 niceness 값만 설정할 수 있습니다.

기본 동작

`nice` 명령어는 기본적으로 niceness 값을 10 증가시켜 실행합니다. 즉, `nice command`는 `nice -n 10 command`와 동일합니다.

활용 시점

시스템 리소스가 제한적인 환경에서 백그라운드 작업을 실행할 때 `nice`를 사용하면 다른 대화형 작업의 응답성을 유지하는 데 도움이 됩니다.

관련 명령어

  • renice: 이미 실행 중인 프로세스의 niceness 값을 변경합니다.
  • top/htop: 실행 중인 프로세스의 niceness 값을 포함한 상세 정보를 확인할 수 있습니다.

동일 카테고리 명령어