리눅스에서 프로그램 CPU 사용량 제어
리눅스 상에서 프로그램의 CPU 사용량을 제한할 필요가 있을 때, 유용한 유틸리티를 소개하고자 한다. cpulimit라는 프로그램이다. 멀티코어 또는 멀티CPU 시스템에서는 전체 CPU 사용량이 100%가 넘을 수 있지만 이 프로그램에서 제한하는 백분율은 전체 갯수(멀티코어+멀티CPU)의 총량을 100으로 잡았을 때를 말한다.
설치
-데비안 계열(Debian/Ubuntu)에서
[root]# sudo apt update
[root]# sudo apt install cuplimit
-레드헷 계열(RHEL/CentOS/Fedora)에서
[root]# yum install epel-release
[root]# yum install cpulimit
-소스로 컴파일하여 설치
[root]# cd /tmp
[root]# wget 'http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz'
[root]# tar -zxvf cpulimit-1.1.tar.gz
[root]# cd cpulimit-1.1
[root]# make
[root]# cp cpulimit /usr/local/sbin/
[root]# rm -rf cpulimit*
간단한 사용법
먼저 프로그램이 실행된 상태에서 cuplimit 명령어로 CPU 사용량 설정이 가능하다.
-프로세스 이름으로
firefox라는 프로세스의 CPU 최대 사용량을 30%로 제한한다.
$ cpulimit -e firefox -l 30
-프로세스 PID로
## 프로세스의 PID 확인
$ ps aux | grep firefox
또는
$ pgrep firefox
## CPU사용량 설정
$ cpulimit -p 1313 -l 30
-프로그램의 절대경로로
/opt/firefox/firefox경로의 프로그램의 CPU 최대 사용량을 30%로 제한한다.
$ cpulimit -P /opt/firefox/firefox -l 30
결론
리눅스에서 프로그램의 CPU 사용량을 제어하고 싶다면 cpulimit 유틸리티를 사용하면 됩니다. 데비안/우분투, RHEL/CentOS/Fedora 등의 배포판에서 패키지 매니저로 쉽게 설치할 수 있고, 소스코드로도 빌드가 가능합니다. 설치 후에는 프로세스 이름, PID, 실행 파일 경로 등으로 원하는 프로그램을 지정하고 -l 옵션으로 CPU 사용량 제한 백분율을 설정하면 됩니다. 예를 들어 'cpulimit -e firefox -l 30’은 firefox 프로세스의 CPU 사용량을 30%로 제한합니다. cpulimit는 멀티코어/멀티CPU 환경에서도 잘 작동하며, 제한 백분율은 전체 코어/CPU의 총량 대비입니다. 이 유틸리티를 통해 특정 프로그램의 리소스 사용량을 효과적으로 관리할 수 있습니다.
참고
https://cpulimit.sourceforge.net/
댓글 없음:
댓글 쓰기