프로세스가 취할 수있는 CPU 용량을 제한 할 수 있습니까?


16

궁금합니다. 프로세스에 얼마나 많은 프로세서 성능이 필요한지 알려주는 방법이 있습니까?

문제는 Arista (비디오 변환기)로 비디오를 변환하고 있으며 팬이 미친 듯이 실행되는 것에 짜증이납니다. 작업 모니터를 볼 때 CPU의 92 % 이상을 차지하고 있습니다.

20 % 만 걸릴 수 있다고 말할 수 있습니까?

감사

답변:


20

cpulimit의 도구 (도에 존재하는 데비안의 repo 다른 배포판에 있어야는).

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

cpulimit -p PID -l MAX_CPU_LEVEL

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


1
ha-ha :), +1 덕분에 완벽하게 작동합니다.
동등한 8

3
명시된 URL의 코드는 꽤 오랫동안 업데이트되지 않았습니다. 또 다른 그룹은 그것을 선택하여 limitcpu.sf.net 에서 개발을 계속 했습니다 .
James Sneeringer

7

또 다른 방법은 cgroups (wikipedia article here ) 라는 비교적 새로운 커널 인터페이스를 사용하는 것 입니다. 프로세스 / 사용자 / 그룹이 소비 할 수있는 CPU / 메모리 / IO / 등의 양을보다 세밀하게 제어 할 수 있습니다.


0

이것이 정확히 원하는 것은 아니지만 renice프로그램을 사용 하여 시스템의 다른 응용 프로그램이 느려지지 않도록 프로그램 우선 순위를 변경할 수 있습니다 . renice -n 20 -p [pid]여기서 [pid]가 Arista의 프로세스 ID로 바뀌면 리소스 사용량이 줄어들고 시스템 속도가 저하 될 수 있습니다.


1
OP는 프로세스가 다른 응용 프로그램의 속도를 늦추는 것에 대해 불평하지 않지만 미친 것처럼 달리는 팬에 대해서는 불평 renice하지 않습니다. 기껏해야 비디오 변환기 속도가 느려지지만 경쟁 프로세스 (있는 경우)는 이전과 같이 CPU로드를 유지합니다.
jlliagre
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.