“온 디맨드”CPU 스케일링 데몬 비활성화


13

10.04로 업그레이드 할 때 "ondemand"CPU 스케일링 데몬을 실행하는 서버가 있습니다. 왜 자동으로 설치됩니까? 성능을 희생하여 서버 전원을 절약하고 싶지 않습니다.


5
당신은 파워 세이버를 위해 온 디맨드 주지사를 착각하고 있습니다.
레온 Nardella

3
레온과 합의했습니다. 해야 할 일이 있으면 온 디맨드 속도가 빨라지고 유휴 상태이면 속도가 느려집니다. CPU가 속도를 변경하는 기능을 제한하는 것이 아니라 오히려 활용하는 것입니다.
maco


대부분 유휴 서버에서 응답 시간이 늘어납니다.
대학의 학생

답변:


32

/etc/init.d/ondemand(Georg에 의해 제안 된) 스크립트 실행을 비활성화하는 대신 this 명령을 사용해야합니다

sudo update-rc.d ondemand disable

init 시스템이 스크립트를 시작하지 않도록하려면 인식하는 것이 좋습니다! sudo chmod -x /etc/init.d/ondemand패키지가 업데이트되면 실행 권한 비활성화 ( )를 덮어 쓸 수 있습니다.


내가 할 경우 : sudo update-rc.d other_governor enable, 영구적으로 원하는 총재를 설정합니까?
userDepth

5

주파수 스케일링은 정적이지 않습니다. 해야 할 일이 있 자마자 CPU가 작동하고 P 상태가 상승하며 모든 것이 날아갑니다.

널리 사용되기 때문에 가능합니다. 에너지를 절약합니다 (지갑과 환경에 좋습니다). 열을 유지합니다 ( 서버 실에서 매우 중요). 그리고 그것은 눈에 띄지 않습니다.

또한 최신 인텔 칩에서는 확장이 가능한 경우 한 코어가 한 번에 주식보다 높은 속도로 실행되는 "터보 부스트"를 사용할 수 있습니다. 이것은 단일 스레드 작업의 급증에 매우 유용합니다. 스케일링을 사용하지 않으면 이것을 얻지 못합니다.


P4 Xeon에서 확장하는 데 시간이 얼마나 걸립니까?
대학 학생

이 오래된 대답을 봤고 Oli에 동의하는 동안 CPU 스케일링을 비활성화하려는 특정 사용자 사례가 있습니다 (예 : 오디오 녹음). 특정한 필요가 없다면 주문형으로 남겨 두십시오
Panther

우연히 어떤 프로세스가 주파수 스케일링의 최소 / 최대 값을 지속적으로 변경하는지 알 수있는 방법이 있습니까? 항상 바뀌고 이유를 모르겠습니다. 참조 askubuntu.com/questions/800797/how-to-enable-turbo-boost
Sebastien Lorber

2

rcconf 데비안 도구를 설치할 수 있습니다 :

sudo apt-get install rcconf

그런 다음 "주문형"서비스를 비활성화하십시오.


rcconf 도구에 대한 사용 중단 경고를 찾을 수 없습니다. 요점을 놓치고 완전히 잘못된 URL을 제공했습니다. 아치의 rc 스크립트 구성 방식을 의미하는 것이 아니라 데비안 도구 가 생생하게 보입니다.
마누엘

지적하고 유용한 링크를 제공해 주셔서 감사합니다! (내 초기 및 잘못된 의견을 삭제)
natty에 대해

원래 응답도 편집했습니다!
Manuel

2

모든 CPU를 성능 조정자로 설정하십시오.

for GOVERNOR in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; \
do \
    echo "performance" | sudo tee $GOVERNOR; \
done

Linux 커널에서 지원하는 모든 주지사 :

  • 성능 최대 주파수에서 CPU를 실행하십시오.
  • powersave 최소 주파수에서 CPU를 실행하십시오.
  • userspace 사용자가 지정한 주파수로 CPU를 실행합니다.
  • ondemand 현재 부하에 따라 주파수를 동적으로 조정합니다. 가장 높은 주파수로 점프 한 다음 유휴 시간이 증가함에 따라 뒤로 물러날 수 있습니다.
  • 보수적 전류 부하에 따라 주파수를 동적으로 조정합니다. 주문형보다 주파수를 점진적으로 확장합니다.
  • schedutil 스케줄러 중심 CPU 주파수 선택

https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt를 참조 하십시오


2
참고로, sudo echo > ...예상대로하지 마십시오 : askubuntu.com/q/230476/158442
muru

1

모든 CPU가 Ubuntu 데스크탑 또는 서버에서 지속적으로 최대 성능으로 실행되도록하려면 다음을 실행하십시오.

sudo chmod -x /etc/init.d/ondemand

쉘 프롬프트에서 암호를 입력하십시오. 이렇게하면 모든 CPU가 "OnDemand"속도로 실행되도록하는 쉘 스크립트가 비활성화되어 기본값은 최고 속도 (성능)입니다. 이를 적용하려면 재부팅해야합니다.

우분투 Jaunty 9.04에서만 이것을 테스트했지만 작동하지만 어떤 버전의 우분투에서도 문제를 일으키지 않아야합니다.

우분투 기본값은 이것에 대해 이상하다고 생각합니다. 제 생각에 데스크톱이나 서버는 최고 속도로 실행되어야합니다.

감사합니다, 조지


1
나는 그것이 이상하다고 생각하지 않습니다. 모바일이 전력 절약을위한 가장 중요한 시나리오 인 것은 분명하지만, 전력 사용량을 줄이면 데스크톱 시나리오에서 팬 소음이 줄어들고 서버 룸에서 처리 할 열이 줄어 듭니다. 최대 속도로 지속적으로 실행하는 것은 약간의 낭비이며, ondemand잘못 되는 드문 경우에만 필요합니다 .
bobince

@bobince-아마 옳았지만 데스크톱의 경우 OnDemand가 성능에 비해 느린 응답을 제공한다는 것을 알았습니다. 위의 변경으로 컴퓨터가 여전히 제대로 잠자기 할 수 있다고 생각합니다. 시스템 / 관리 또는 시스템 / 환경 설정의 옵션이어야합니다.
George Gesslein II

CPU를 확장하여 충전 시간이 단축되고 배터리 시간이 연장되는 랩톱에서만 이것이 의미가 있습니다.
LassePoulsen

환경을 구하는 사람?
natty에 대해 nutty

1

일부 시스템에서는 '주문형'주지사가 유감스럽게도 파손되었습니다.

"Intel® Core (TM) 2 Quad CPU Q9300 @ 2.50GHz"및 커널 2.6.32-42의 경우입니다.

커널은 각 CPU에 대해 개별적으로 주파수를 설정할 수 있다고 생각하지만 하드웨어는 실제로 여러 CPU 그룹 (예 : CPU 0과 1, CPU 2와 3)에서만 주파수를 설정할 수 있습니다.

"0", "1", "2", "3"을 포함하는 / sys / devices / system / cpu / cpu * / cpufreq / affected_cpus 파일을 보면 커널이이를 인식하지 못하는 것을 알 수 있습니다 "0 1", "0 1", "2 3", "2 3"대신.

이 불일치의 눈에 띄는 효과는 단일 스레드 프로세스로, 하나의 CPU에서 최고 속도를 실행하기 시작하고 ( '주문형 관리자'가 빠르게 반응 함) 약 20 초 후 (세부 설정에 따라 다름) 일부 속도가 느려집니다.

그 이유는 '온 디맨드'조정기가있는 OS가 주기적으로 유휴 CPU에서 낮은 주파수를 다시 적용하기 때문에 사용중인 CPU의 주파수를 암시 적으로 변경하지는 않을 것으로 예상됩니다. / sys / devices / system / cpu / cpu * / cpufreq / * cur_freq 또는 / proc / cpuinfo를 볼 때조차도 보이지 않으며 OS는 그것을 알지 못합니다!

따라서 이러한 시스템에서 솔루션은 단순한 '성능'조정기로 다시 전환하는 것입니다.

추신 : 필자의 경우 전체 주파수에서 지속적으로 CPU를 실행해도 팬 소음과 관련된 내용은 변경되지 않았습니다. CPU가 유휴 상태 일 때 주파수가 낮거나 높을수록 전력 사용량에 큰 영향을 미치지 않습니다.


0

나는 새로운 프로세서 AMD Athlon II X4 631 (소켓 FM1 용 퓨전 프로세서)을 가지고 있으며 어떤 에너지도 절약하지 않습니다 (에너지 미터로 보았습니다)! 터보 코어가 없으므로 주문형 설정이 필요하지 않습니다. 대부분의 새로운 프로세서는 스스로를 절약합니다.

벤치마킹 할 때 온 디맨드 및 성능 설정을 비교할 때 1-2 % 범위에서 약간의 차이가 있습니다.


AskUbuntu에 오신 것을 환영합니다! 답변이 조사 된 답변이 아닌 의견으로 오해 될 수 있으므로 전체 통계 / 연구와 함께 진술을 백업 할 수 있습니다.
Oyibo


-1

이것은 오래되었지만 아무도 언급하지 않았기 때문에 완전성을 기하기 위해 최대 속도로 실행되는 CPU가 전력을 낭비하고 열, 팬 소음 등을 잘못 만드는 방법에 대한 논거를 덧붙일 것 입니다.

거의 모든 최신 CPU, 특히 데스크톱 / 서버 CPU는 유휴 상태 일 때 완전 절전 모드로 전환됩니다 (Google Race to idle).

전압 스케일링은 아마도 더 많은 전력을 절약 할 것이므로 랩톱에서는 실행 시간이 약간 증가 할 수 있지만 성능 조정기를 실행하는 데스크톱 및 서버에서는 대부분의 '일반적인'사용자 (서버 팜을 실행하지 않는 사람)에게 적합합니다.

i7-2600k와 함께 퍼포먼스 gov를 사용하며 CPU 온도는 보통 약 30C입니다.


이것도 잘못입니다. CPU 온도를 모니터링하고 주파수를 변경하여 스스로 확인하십시오 (시스템이 완전히 / 정확하게 구현하지 않는 한). Apple 링크도 참조하십시오. 일반 주파수 / 속도 스케일링과 같은 소리
Xen2050

@ Xen2050, 자신을 위해 무엇을 보려고? 섭씨 70도에서 2 초 동안 실행되는 CPU가 60도에서 5-6 초로 실행되는 CPU보다 더 많은 전력을 소비 할 수 있다는 것을 의미합니까? 특정 순간에 CPU 온도를 모니터링하는 것만 큼 간단하지 않습니다.
Denis

@ Xen2050은 완전히 다른 아치 또는 프로세서 인 iPhone을 가리 킵니다. 특정 거버너와의 콤보 전압 스케일링은 랩톱에서 도움이 될 수 있으며 데스크톱 (워크 스테이션) 및 서버 프로세서를 명시 적으로 언급 할 수 있지만 실제로 이야기 한 내용은 현재 전화에서도 존재합니다 ( 이 경우 상황이 더 복잡 할 수 있습니다. MPU가 특정 C / P 상태를 제대로 활용하려면 적절한 관리자가 필요할 수 있습니다. 어쨌든 내가 입력 한 내용을 한 번 더 읽으면 Google은 '유휴 상태에 빠지기'및 프로세서 깊은 절전 모드를 수행합니다.
Denis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.