프로세서의 우선순위 값 : nice

MapR (현재는 HPE Data Fabric) 의 Monitoring (Node) Metric 문서를 보다가, CPUNICE 라는 컬럼 이름에 다음과 같은 설명이 있다. Amount of CPU time used by processes with a positive nice value. 오잉, 프로세스의 CPU 사용 시간인 것 까진 알겠는데, 양(positive) 의 좋은 값이라니?

실은, nice value가 다음과 같은 뜻이라고 한다.

Nice 값은 CPU의 스케줄링 우선순위를 의미합니다. 값의 범위는 +19 ~ -20으로, 숫자가 높을 수록 우선 순위는 낮습니다. man 2 getpriority 를 참고하시면, 더 자세한 정보가 나와 있습니다. 프로세스를 실행할 때 nice 명령어로 우선 순위를 부여할 수 있고, renice 명령어로 우선 순위를 조정할 수 있습니다. 우선 순위를 높이기 위해선, 슈퍼 유저 권한이 (root) 필요합니다. (출처)

참고로, getpriority() 는 프로세스의 현재 우선순위를 반환하는 인터페이스 이다. setpriority() 역시 존재하는데, 이 함수를 실행할 때 값을 낮추려면 sudoer 권한이 있어야 한다고 한다.

Hugo 기반 / JimmyStack 테마를 사용 중입니다.