“Ondemand” CPU ölçeklendirme arka plan programını devre dışı bırak


13

10.04 yükseltme, şimdi "ondemand" CPU ölçeklendirme arka plan programı çalıştıran bir sunucum var. Neden bunu otomatik olarak kuracaktı? Sunucumun performans pahasına güç tasarrufu yapmasını istemiyorum.


5
Enerji tasarrufu için, vali ve valiyi yanıltıyorsunuz.
Leon Nardella

3
Leon ile aynı fikirde. Ondemand yapacak bir şey varsa hızlanır ve boşta kalırsa yavaşlar. CPU'nun hızları değiştirme yeteneğini kısıtlamaz, bunun yerine avantaj sağlar.
maco


Çoğunlukla boşta olan bir sunucuda yanıt sürelerini artırır.
Üniversitesinde Öğrenci

Yanıtlar:


32

/etc/init.d/ondemand(George tarafından istendiği gibi) komut dosyasının yürütülmesini devre dışı bırakmak yerine , bu komutu kullanmalısınız

sudo update-rc.d ondemand disable

İnit sisteminin betiği başlatmaması için, bunu yapmanın tanınan yolu budur! sudo chmod -x /etc/init.d/ondemandPaket güncellenirse exec izninin ( ) devre dışı bırakılması üzerine yazılabilir.


Bunu yaparsam: sudo update-rc.d other_governor enable, kalıcı bir istenen vali ayarlayacak mı?
userDepth

5

Frekans ölçeklendirmesi statik değildir. Yapılacak iş olur olmaz, CPU harekete geçer, P durumları artar ve her şey uçar.

Etkin çünkü yaygın olarak iyi bir şey olarak görülüyor. Enerji tasarrufu sağlar (cüzdanınız ve çevre için iyi). Isıyı korur ( sunucu odasında çok önemlidir). Ve bu oldukça farkedilemez.

Üstelik modern Intel yongalarında, eğer ölçeklendirme yapıyorsanız, bir çekirdeğin bir süre için stoktan daha yüksek hızlarda çalışacağı "turbo boost" kullanabilirsiniz. Bu, tek iş parçacıklı işlerin ani yükselmeleri için çok yararlıdır. Ölçeklendirme etkin olmadan, bunu elde edemezsiniz.


P4 Xeon'da ölçek büyütmek ne kadar zaman alır?
Bir Üniversitede Bir Öğrenci

Bu eski yanıta rastladım ve Oli ile aynı fikirde olduğumda, CPU ölçeklendirmesini devre dışı bırakmak istediğiniz belirli kullanıcı durumları var - örneğin Ses kaydı. Özel bir ihtiyacınız yoksa, ondemand'da bırakın
Panther

Şans eseri, hangi işlemin frekans ölçeklemenin min / maks değerlerini sürekli olarak değiştirdiğini bilmenin bir yolu var mı? Her zaman değişir ve nedenini bilmiyorum. bkz. askubuntu.com/questions/800797/how-to-enable-turbo-boost
Sebastien Lorber

2

Rcconf debian aracını kurabilirsiniz :

sudo apt-get install rcconf

"ondemand" hizmetini oradan devre dışı bırakın.


Rcconf aracıyla ilgili herhangi bir kullanımdan kaldırma uyarısı bulamıyorum: noktayı kaçırıyorsunuz ve tamamen yanlış bir URL sağladınız. Arch'ın rc betiklerini yapılandırma şeklini kastetmedim, daha ziyade debian aracı ve bu canlı ve iyi görünüyor.
Manuel

İşaret ettiğiniz ve faydalı bir bağlantı sağladığınız için teşekkür ederiz! (İlk ve yanlış
yorumumu

Ayrıca orijinal yanıtı düzenledi!
Manuel

2

Tüm CPU'ları performans düzenleyicisine ayarlayın:

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

Linux çekirdeğinin desteklediği tüm valiler:

  • performans CPU'yu maksimum frekansta çalıştırın.
  • güç tasarrufu CPU'yu minimum frekansta çalıştırın.
  • userpace CPU'yu kullanıcı tanımlı frekanslarda çalıştırın.
  • ondemand Frekansı mevcut yüke göre dinamik olarak ölçeklendirir. En yüksek frekansa atlar ve daha sonra boşta kalma süresi arttıkça geri çekilir.
  • muhafazakar Frekansı mevcut yüke göre dinamik olarak ölçeklendirir. Sıklığı ondemanddan daha kademeli olarak ölçeklendirir.
  • schedutil Zamanlayıcı tabanlı CPU frekans seçimi

Bkz. Https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt


2
Not, sudo echo > ...beklediğiniz şeyi yapmayın: askubuntu.com/q/230476/158442
muru

1

Tüm CPU'ların bir Ubuntu masaüstünde veya sunucusunda sürekli olarak maksimum performansta çalışmasını sağlamak için şunu çalıştırın:

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

komut istemine gidin ve şifrenizi girin. Bu, tüm CPU'ların "OnDemand" hızında çalışmasını sağlayan kabuk komut dosyasını devre dışı bırakır ve bu da onları varsayılan olarak tam hıza (Performans) getirir. Bunun etkili olması için yeniden başlatmanız gerekir.

Bunu sadece Ubuntu Jaunty 9.04'te test ettim, ancak çalışmalı ve Ubuntu'nun herhangi bir sürümünde herhangi bir soruna neden olmamalıdır.

Bence Ubuntu varsayılanları bunun için garip. Bence bir masaüstü veya sunucu tam hızda çalışmalıdır.

Saygılarımızla, George


1
Bunun garip olduğunu düşünmüyorum. Kesinlikle mobil güç tasarrufu için en kritik senaryo olsa da, güç kullanımını azaltmak aynı zamanda bir masaüstü senaryosunda daha az fan gürültüsü ve bir sunucu odasında daha az ısı olması anlamına gelir. Maksimum hızda sürekli koşmak biraz boşa gider ondemand, sadece yanlış anlayan nadir durumlarda gerçekten gereklidir .
bobince

@bobince - Muhtemelen haklısınız, ancak bir masaüstü için OnDemand'ın Performans ile karşılaştırıldığında durgun bir yanıt verdiğini fark ettim ve bence bilgisayar yukarıdaki değişiklikle düzgün bir şekilde uyuyabilir. Sistem / Yönetim veya Sistem / Tercihler'de bir seçenek olmalıdır.
George Gesslein II

Doğru, bunun mantıklı olduğu tek yer, CPU'yu ölçeklendirerek şarj süresinin kısaltıldığı ve pil süresinin uzatıldığı dizüstü bilgisayarlarda.
LassePoulsen

çevreyi kurtarmak, kimse ??
natty hakkında nutty

1

Bazı sistemlerde 'ondemand' valisi maalesef kırılmıştır.

"Intel (R) Core (TM) 2 Quad CPU Q9300 @ 2.50GHz" ve çekirdek 2.6.32-42 için durum budur.

Çekirdek, frekansı her CPU için ayrı ayrı ayarlayabileceğini düşünürken, donanım aslında sadece birkaç CPU grubundaki (örneğin CPU 0 ve 1 ve CPU 2 ve 3 birlikte) frekansın ayarlanmasına izin veriyor.

"0", "1", "2", "3" içeren / sys / Devices / system / cpu / cpu * / cpufreq / etkilenen_cpus dosyalarına bakarak çekirdeğin bunun farkında olmadığını öğrenebilirsiniz. "0 1", "0 1", "2 3", "2 3" yerine.

Bu yanlış eşleşmenin görünür etkisi, bir CPU üzerinde tam hızda çalışmaya başlayan ('ondemand' valisi hızlı tepki verir) ve daha sonra yaklaşık 20 saniye sonra (ayar ayrıntılarına bağlı olarak) hızının bir kısmını kaybeder.

Bunun nedeni, 'ondemand' valisi ile işletim sisteminin, boş CPU'larda düşük frekansları periyodik olarak yeniden uyguladığı ve bunun da yoğun CPU'muzun frekansını dolaylı olarak değiştireceğini beklememesi. / Sys / device / system / cpu / cpu * / cpufreq / * cur_freq veya / proc / cpuinfo'ya baktığınızda bile görünmüyor, işletim sistemi bunun farkında değil!

Yani, bu sistemlerde çözüm basit 'performans' düzenleyicisine geri dönmektir.

PS: Benim durumumda, CPU'ları sürekli tam frekanslarında çalıştırmak fan gürültüsü ile ilgili hiçbir şeyi değiştirmedi. Bir CPU rölantideyken, daha düşük veya daha yüksek bir frekansın güç kullanımı üzerinde çok fazla etkisi olmayacağını düşünüyorum.


0

Yeni bir işlemcim AMD Athlon II X4 631 (FM1 soketi için Fusion işlemci) ve hiçbir enerji tasarrufu yapmıyor (enerji ölçer ile baktım)! Bir turbo çekirdeğim yok, bu yüzden ondemand ayarına ihtiyacım yok. Çoğu yeni işlemci enerjiyi kendi başlarına kurtarır.

Kıyaslama yaparken, ondemand ve performans ayarını karşılaştırırken% 1-2 aralığında küçük bir fark vardır.


AskUbuntu'ya hoş geldiniz! Cevabınız araştırılmış bir cevaptan ziyade bir görüş olarak yanlış anlaşılabileceğinden, ifadelerinizi tam istatistik / araştırma ile yedeklemek isteyebilirsiniz.
Oyibo


-1

Bu eski, ama kimse bundan söz ve bütünlüğü uğruna beri, maksimum hıza üzerinde çalışan işlemci gürültü vb gücü, üretim ısıyı, fan boşa nasıl argüman olduğunu katacak YANLIŞ .

Neredeyse tüm modern CPU'lar, özellikle Masaüstü / Sunucu CPU'ları, boştayken derin uyku moduna girecektir (google yarıştan boşta.).

Gerilim ölçeklendirme muhtemelen daha fazla güç tasarrufu sağlayacaktır, bu yüzden dizüstü bilgisayarlarda bu çalışma süresini biraz artırabilir, ancak performans düzenleyicisini çalıştıran masaüstü ve sunucularda (sunucu çiftlikleri veya benzeri çalıştırmayan) çoğu normal kullanıcı için iyi olacaktır.

İ7-2600k ile performans gov kullanıyorum ve CPU sıcaklığı genellikle 30 C civarında.


Bu da yanlış. CPU sıcaklıklarını izleyin ve kendiniz görmek için frekansları değiştirin (sisteminiz tam / doğru uygulamadığı sürece). Apple bağlantısını da görün, normal frekans / hız ölçeklendirme gibi geliyor
Xen2050

@ Xen2050, kendiniz için ne görmek? 70 santigrat derecede 2 saniyeliğine çalışan CPU'nun 60 derecede 5-6 saniyeliğine veya bu yönde bir şeyden daha fazla güç tüketebileceğini mi ima ediyorsunuz? CPU sıcaklığını belirli bir anda izlemek o kadar kolay değil.
Denis

@ Xen2050 bağlantınız tamamen farklı kemer veya işlemciler olan iPhone'a işaret ediyor. Belirli bir vali ile birleşik voltaj ölçeklemesinin örneğin dizüstü bilgisayarlarda yardımcı olabileceğini ve masaüstü (İş İstasyonu) ve sunucu işlemcilerinden açıkça bahsettiğini belirtmiştim, ancak aslında bahsettiğim şey yıllardır telefonlarda bile var ( Bu durumda durum muhtemelen daha karmaşıktır MPU'nun belirli C / P durumunu kullanması için uygun bir vali gerekebilir. Her neyse, yazdıklarımı bir kez daha okudum ve google 'boşta yarış' ve işlemci derin uyku modları.
Denis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.