프로세스가 차지할 수 있는 CPU 리소스의 양을 제한할 수 있습니까?

프로세스가 차지할 수 있는 CPU 리소스의 양을 제한할 수 있습니까?

프로세스가 얼마나 많은 프로세서 전력을 차지할 수 있는지 알려주는 방법이 있는지 궁금합니다.

문제는 동영상을 변환하는 중이라는 것입니다.망고(비디오 변환기) 팬이 미친 듯이 돌아가고 작업 모니터를 보면 CPU의 92% 이상을 사용하고 있어서 짜증이 납니다.

(어쨌든) 20%만 가져가라고 말할 수 있나요?

감사해요

답변1

가지다CPU 한도도구(다음 위치에도 있음데비안 저장소다른 배포판에 있어야 합니다).

사용법은 매우 간단합니다.

cpulimit -p PID -l MAX_CPU_LEVEL

프로세스 이름이나 바이너리의 전체 경로를 사용할 수도 있습니다. 자세한 내용은 다음에서 확인할 수 있습니다.매뉴얼 페이지.

답변2

또 다른 접근 방식은 다음과 같은 (상대적으로) 새로운 커널 인터페이스를 사용하는 것입니다.cgroup(위키피디아 기사여기). 이를 통해 프로세스/사용자/그룹이 소비할 수 있는 CPU/메모리/IO/등의 양을 보다 세밀하게 제어할 수 있습니다.

답변3

이것이 정확히 원하는 것이 아닐 수도 있지만 이 renice프로그램을 사용하면 프로그램의 우선 순위를 변경하여 시스템의 다른 응용 프로그램이 느려지는 것을 방지할 수 있습니다. renice -n 20 -p [pid], 여기서 [pid]는 Arista의 프로세스 ID로 대체되며 리소스 사용량이 줄어들 수 있으며 시스템 속도가 확실히 느려질 수 있습니다.

관련 정보