웹사이트 검색

CPUTool - Linux에서 모든 프로세스의 CPU 사용률 제한 및 제어


Linux 성능 모니터링에서 중요한 영역 중 하나는 CPU 사용량과 시스템 로드입니다. 시스템에서 상황이 어떻게 진행되고 있는지 감시할 수 있는 여러 가지 Linux 성능 모니터링 도구가 있습니다.

이러한 도구 중 다수는 단순히 시스템 상태/통계를 출력하는 반면 다른 일부 도구는 시스템 성능을 관리하는 수단을 제공합니다. CPUTool이라는 도구 중 하나입니다.

CPUTool은 모든 프로세스의 CPU 사용률을 특정 한계까지 제한 및 제어하고 시스템 로드가 정의된 임계값을 초과하는 경우 프로세스 실행을 중단할 수 있는 간단하면서도 강력한 명령줄 도구입니다.

CPUTool은 어떻게 작동하나요?

CPU 사용량을 제한하기 위해 cputool은 SIGSTOPSIGCONT 신호를 프로세스에 전송하며 이는 시스템 로드에 따라 결정됩니다. 이는 /proc 의사 파일 시스템을 사용하여 PID 및 해당 CPU 사용량 측정값을 읽습니다.

단일 프로세스 또는 프로세스 그룹의 영향을 받는 CPU 사용량이나 시스템 로드를 지정된 제한으로 제한하거나 시스템 로드가 임계값을 초과하는 경우 프로세스를 일시 중지하는 데 사용될 수 있습니다.

권장 읽기: Linux 로드 평균 이해 및 Linux 성능 모니터링

CPU 사용량 및 평균 로드를 제한하기 위해 CPUTool 설치

CPUTool은 패키지 관리 도구를 사용하여 기본 시스템 저장소의 Debian/Ubuntu 및 파생 제품에만 설치할 수 있습니다.

sudo apt install cputool

CUPTool을 사용하여 프로세스 CPU 사용량 제한

이제 cputool이 실제로 어떻게 작동하는지 살펴보겠습니다. 모든 것을 보여주기 위해 dd 명령을 실행하여 백그라운드에서 CPU 비율을 높이고 해당 PID를 표시합니다.

dd if=/dev/zero of=/dev/null &

CPU 사용량을 모니터링하기 위해 실행 중인 Linux 시스템 프로세스의 정기적으로 업데이트되는 상태를 실시간으로 볼 수 있는 top 또는 Glances 도구를 사용할 수 있습니다.

top

위 출력에서 dd 명령의 CPU 시간 99.7%) 비율이 가장 높다는 것을 알 수 있습니다. 이제 아래와 같이 cputool을 사용하여 이를 제한할 수 있습니다.

--cpu-limit 또는 -c 플래그는 프로세스 또는 프로세스 그룹의 사용 비율을 설정하는 데 사용되며 -p는 지정하는 데 사용됩니다. PID. 다음 명령은 dd 명령(PID 8275)을 하나의 CPU 코어 사용을 50%로 제한합니다.

cputool --cpu-limit 50 -p 8275 

cputool을 실행한 후 해당 프로세스(PID 8275)의 새로운 CPU 사용량을 한 번 더 확인할 수 있습니다. 이제 dd 프로세스의 CPU 사용량 범위는 (49.0%-52.0%)입니다.

top

dd의 CPU 사용량을 20%로 추가로 제한하려면 cputool을 두 번째로 실행하면 됩니다.

cputool --cpu-limit 20 -p 8275 

그런 다음 다음과 같은 도구를 사용하여 즉시 확인하십시오(dd의 CPU 사용량은 이제 19.0%-22.0% 또는 이보다 약간 높아야 합니다).

top

CPUTool이 실행되는 동안 쉘은 사용자 입력을 기대하지 않습니다. 따라서 응답하지 않게 됩니다. 이를 종료하려면(CPU 사용량 제한 작업이 종료됨) Ctrl + C를 누르세요.

중요한 것은 HTTP 웹 서버의 경우 프로세스 그룹(각각 고유한 PID를 가진 여러 실행 인스턴스가 있는 하나의 프로그램)을 지정하는 것입니다.

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

다음과 같이 -P 플래그를 사용하세요.

cputool --cpu-limit 20 -P 1780

CUPTool로 시스템 부하 제한

-l 옵션은 프로세스 또는 프로세스 그룹이 계속 실행되기 위해 시스템이 겪을 수 있는 최대 로드를 지정하는 데 사용됩니다. 분수 값(예: 2.5)을 사용할 수 있습니다.

아래 예는 시스템 로드가 3.5를 초과하지 않는 경우에만 로컬 백업을 위해 rsync를 실행함을 의미합니다.

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

자세한 내용 및 사용법은 CPUTool 매뉴얼 페이지를 참조하십시오.

man cputool

CPU 정보 및 CPU 성능 모니터링을 찾는 데 유용한 다음 가이드를 확인하세요.

  1. Linux에서 CPU 정보를 얻는 데 유용한 9가지 명령
  2. Cpustat - Linux에서 프로세스를 실행하여 CPU 사용률을 모니터링합니다.
  3. CoreFreq – Linux 시스템을 위한 강력한 CPU 모니터링 도구
  4. Linux에서 메모리 및 CPU 사용량이 가장 높은 상위 실행 프로세스 찾기

결론적으로 CPUTool은 Linux 성능 관리에 정말 유용합니다. 아래 피드백 양식을 통해 이 기사에 대한 의견을 공유해 주세요.