특정 프로세스의 CPU 사용량 제한

cronjob으로 서버 백업을 돌릴 때 gzip 때문에 사이트 전체가 먹통이 되는 경우에 사용할 수 있는 방법입니다.

cpulimit이라는 녀석을 사용하면 됩니다.

일회성으로 사용하는 경우에는
# apt-get install cpulimit
이렇게 설치한 다음,

# cpulimit -e gzip -l 30
이렇게 실행시키면 gzip이라는 프로세스를 CPU 사용량 30% 이하로 제한하게 됩니다.
여기서 30%는 top에서 봤을 때의 CPU 비중을 말하는 것이니 최대 100%를 기준으로 하지 않을 수가 있습니다.

문제는 해당 프로세스가 실행중이어야 한다는 점인데, 데몬으로 돌아가면서 gzip을 제한해주는 방법을 찾아보니 다음과 같은 링크가 있네요.

위의 설명을 따라하면서
BLACK_PROCESSES_LIST = “gzip”
이렇게 설정해줬습니다.
적용후 백업 크론이 돌아갈 때 gzip의 CPU 점유율이 30%로 제한되는 것을 확인할 수 있습니다.

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Leave a Comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.