리눅스 Nice (스케줄링에 의한 프로세스 우선순위 변경)
리눅스 시스템은 다중사용자(Multi-User ) 운영체제이며, 다중프로세스처리(Multi-Processing) 운영체제이다. 따라서 여러개의 프로세스가 동시에 실행되어 처리된다. 이때 각 프로세스들 간에는 실행우선순위라는 것이 결정이 되어 있다.
nice 명령어는 많은 프로세스들 사이에 우선순위를 확인하고 우선순위를 변경할 수 있는 명령어이다.
nice값은 -20부터 +19까지 있는데1), 대부분의 프로세스들은 대부분 우선순위 0의 값을 가지며 값이 작을수록 우선 순위가 높다. -n옵션을 쓰지 않으면 디폴트로 10이 쓰임. 일반 유저는 nice값을 증가시킬 수밖에 없지만 root는 nice값을 감소시켜 우선 순위를 높일 수도 있다
프로세스 우선순의 -5의 값으로 실행
nice -5 vi
이미 실행시킨 프로세스의 경우 renice 명령을 사용하여 조절한다.
renice [-n] <priority> [-p] <pid> [<pid> ...] renice [-n] <priority> -g <pgrp> [<pgrp> ...] renice [-n] <priority> -u <user> [<user> ...]
Linux top 명령어 사용방법 에서 볼 수 있다.
특정 유저의 모든 프로세스 설정
/etc/security/limits.conf <username> <hard|soft> priority <nice value>
tecmint hard priority 10
이렇게 하면 된다.
1)
-20 (most favorable scheduling) to 19 (least favorable)