로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

리눅스 CPU 사용률 제한

lmkfox · 2025-01-12 · 조회 0
리눅스 CPU 사용률 제한
리눅스에서 특정 프로세스나 전체 CPU 사용률을 제한하려면 여러 가지 방법이 있습니다. 여기서는 주요 방법들을 설명합니다. 1. cpulimit 명령어 사용 cpulimit는 특정 프로세스의 CPU 사용률을 제한하는 데 사용됩니다. 설치 sudo apt-get install cpulimit # Ubuntu/Debian sudo yum install epel-release && sudo yum install cpulimit # CentOS/RHEL 사용법 sudo cpulimit -p <PID> -l <LIMIT> - <PID>: 제한할 프로세스 ID - <LIMIT>: CPU 사용률의 최대 값 (예: 50은 CPU 사용률 50%) 예제: sudo cpulimit -p 12345 -l 50 위 명령은 PID 12345인 프로세스의 CPU 사용률을 50%로 제한합니다. 실행 시 바로 제한 새로운 프로세스를 실행하면서 제한을 걸고 싶다면: sudo cpulimit -e <프로그램> -l <LIMIT> 2. nice와 renice를 사용한 우선순위 조정 CPU 사용률을 직접 제한하지는 않지만, 프로세스의 우선순위를 낮춰 다른 프로세스가 더 많은 리소스를 사용하도록 설정할 수 있습니다. 새 프로세스 실행 시 nice 사용 nice -n <PRIORITY> <COMMAND> - <PRIORITY>: -20(최고 우선순위)에서 19(최저 우선순위) - 기본 우선순위는 0입니다. 예제: nice -n 10 ./my_program 실행 중인 프로세스의 우선순위 변경 (renice) renice <PRIORITY> -p <PID> 예제: renice 10 -p 12345 3. cgroups 사용 cgroups는 시스템 자원을 그룹 단위로 관리하는 리눅스 커널 기능입니다. cgroups 설정 - cgroup-tools 설치 - sudo apt-get install cgroup-tools # Ubuntu/Debian sudo yum install libcgroup-tools # CentOS/RHEL - cgroup 생성 및 CPU 제한 - cpu.shares: CPU 점유 비율 (기본값: 1024, 낮을수록 우선순위 낮음) - sudo cgcreate -g cpu:/mygroup sudo cgset -r cpu.shares=512 mygroup - 프로세스 그룹에 추가 - sudo cgclassify -g cpu:/mygroup <PID> 4. systemd를 사용한 제한 systemd로 관리되는 서비스라면 CPU 사용률을 설정할 수 있습니다. - 서비스 파일 수정 /etc/systemd/system/<서비스 이름>.service를 엽니다. - [Service] CPUQuota=50% - 설정 적용 - sudo systemctl daemon-reload sudo systemctl restart <서비스 이름> 5. taskset으로 CPU 코어 지정 특정 코어에서만 프로세스를 실행하게 설정하면 CPU 사용률을 제한할 수 있습니다. 사용법 taskset -c <CORE_LIST> <COMMAND> - <CORE_LIST>: 사용 가능한 CPU 코어 번호 (예: 0,1 또는 0-3) 예제: taskset -c 0-1 ./my_program 위 명령은 프로그램을 0번과 1번 코어에서만 실행하도록 제한합니다. 결론 - 간단히 제한하려면 cpulimit 사용. - 우선순위를 조정하려면 nice 또는 renice 사용. - 고급 설정이 필요하면 cgroups나 systemd를 활용. - 특정 코어에서만 실행하려면 taskset을 사용.

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.