Translate

2024/05/21

리눅스에서 프로그램 CPU 사용량 제어

리눅스에서 프로그램 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/

http://www.cyberciti.biz/faq/cpu-usage-limiter-for-linux/

https://azdigi.com/blog/en/linux-server-en/tools-en/cpulimit-controlling-and-limiting-cpu-usage-of-a-process/

댓글 없음:

댓글 쓰기

Template by Aliya H.