“Userspace” cpufreq valisi kullanılamıyor ve cpu frekansı ayarlanamıyor


22

Dizüstü bilgisayarımdaki (Linux çalıştıran) cpu frekansını değiştirmeye çalışıyorum ve başarılı olamıyorum.
İşte bazı detaylar:

# uname -a
Linux yoga 3.12.21-gentoo-r1 #4 SMP Thu Jul 10 17:32:31 HKT 2014 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux

# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.60 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 2.42 GHz (asserted by call to hardware).
(similar information for cpus 1, 2 and 3)

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

Başlangıçta kullanıcı valisi çekirdeğe yerleştirildi, ancak daha sonra bunu (aynı sonuçlarla) bir modül olarak oluşturmayı da denedim; Yukarıdaki komutları çalıştırırken yüklendi (ve onu yüklerken hiçbir sistem mesajını bulamadım):

# lsmod
Module                  Size  Used by
cpufreq_userspace       1525  0
(some other modules)

Ve burada frekansı değiştirmek için denediğim komutlar:

# cpufreq-set -f 800MHz
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

# cpufreq-set -g userspace  
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

Herhangi bir fikir?


@ don_crissti teşekkür ederim, heh, denedim echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbove anında bir panik paniği aldım: p Sonra yeniden başlattım intel_pstate=disableve şimdi acpi-cpufreq kullanıyor, ancak hala frekansı ayarlayamıyorum (artık hata mesajları alamıyorum). BTW, neden yorumunuzu bir cevap haline getirmiyorsunuz?
aditsu

@ don_crissti Ben cpupower hakkında bilmiyordum; biraz kötü sözdizimine sahip, ancak cpufreq'ten daha iyi çalışıyor gibi görünüyor. Şimdi sıklığı ayarlayabiliyorum :) Çok teşekkürler ve cevap yazmayı unutmayın (gerçekten puan istemiyorsanız).
aditsu

Yanıtlar:


41

Bunun nedeni, sisteminizin adı verilen yeni sürücüyü kullanmasıdır intel_pstate. Bu sürücüyü kullanırken yalnızca iki vali var: powersaveve performance. Vali Büyük ile kullanılabilir sürücü (Devre dışı durumunda otomatik olarak kullanılacaktır açılış sırasında; sonra vali / frekansı ile ayarlanır ):
userspaceacpi-cpufreqintel_pstatecpupower

  • mevcut sürücüyü devre dışı bırak: intel_pstate=disableçekirdek önyükleme hattına ekle
  • önyükleme yapın ve ardından userspacemodülü yükleyin :modprobe cpufreq_userspace
  • valiyi ayarlayın: cpupower frequency-set --governor userspace
  • frekansı ayarlayın: cpupower --cpu all frequency-set --freq 800MHz

Teşekkürler, btw frekans seti olmadan aynı şeyi yapmak gibi görünüyor--cpu all
aditsu

3
Eski bir sürücüyü kullanmanın bazı dezavantajları olması gerekir. Onlar neler?
17’de

2
@kontextify Daha mutlu kullanıcılar, yeni sürümü test etmek için gönüllü olarak laboratuvar faresi olarak hizmet etmeye daha az eğilimlidirler.
Mephisto

0

Cevap senin sorunda:

for core in $(seq 0 "$(($(getconf _NPROCESSORS_ONLN) - 1))"); do
echo {performance|powersave} >/sys/devices/system/cpu/cpu$core/cpufreq/scaling_governor ;
done

Bu ve çekirdeğin etkin kullanıcı alanı valisi ile derlenmesi gerekir.

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.