야간 배치 작업이 돌기 시작하자 웹 서버의 응답이 눈에 띄게 느려지는 상황을 생각해 보자. 배치를 멈출 수는 없지만 사용자 요청보다 뒤로 밀어둘 수는 있다. 관리자는 실행 중인 배치 프로세스를 찾아 CPU 경쟁에서 한발 물러서게 만들고, 서비스 프로세스가 먼저 스케줄링되도록 조정한다. 백업, 로그 압축, 대용량 인덱싱처럼 급하지 않은 작업에 흔히 쓰는 방법이다.
리눅스 스케줄러는 각 프로세스에 nice 값을 부여하는데, 이 값이 클수록 CPU를 양보하고 작을수록 우선적으로 배정받는다. 일반 사용자는 양보하는 방향으로만 조정할 수 있고, 우선순위를 높이려면 관리자 권한이 필요하다. 조정 대상을 지목하려면 프로세스 식별자를 먼저 알아야 하므로, pgrep처럼 이름으로 PID를 찾아주는 도구와 함께 쓰이는 경우가 많다.
자주 헷갈리는 지점은 nice와 renice의 역할 구분이다. nice는 명령을 새로 띄울 때 우선순위를 정해 주는 도구이고, renice는 이미 돌고 있는 프로세스의 값을 나중에 바꾸는 도구다. 실행 중인 작업에 nice를 적용하려 하면 목적을 달성할 수 없다. 프로세스 상태 확인과 우선순위 제어는 리눅스마스터 시스템 운영 관리 영역의 단골 주제이며, 서버 운영자와 시스템 엔지니어가 성능 문제를 다룰 때 기본으로 요구되는 역량이다.