스케쥴링
-
간단한 리눅스 서버 성능 향상소프트웨어 & 잡다 2016. 4. 4. 20:02
renice 혹은 setpriority() 를 이용한 프로세스 우선순위 스케쥴링이 원하는 대로 되지 않는 문제로 구글링을 하다가 발견한 내용을 공유한다. 다수의 서버 애플리케이션을 하나의 노드에 올려야 할 일이 있어서, 중요도에 따라 스케쥴링을 하기 위해 renice와 setpriority 함수를 이용하여 테스트 코드를 작성 하였다. 테스트 결과, 동일 터미널 내에서는 우선순위가 제대로 적용 되나 다수의 다른 터미널에서 실행하면 예상했던것과 다르게 적용 되는 것을 확인 하였다. 예를 들어, 동일한 우선순위를 가진 무한루프 프로세스를 터미널A 에서 4개 돌리고 터미널B 에서 1개 돌리면, 각각 20%를 점유하는 것이 아니라 터미널 B에서 돌린 1개가 CPU 1개를 100% 점유하고, 터미널A 에서 돌린 프..