CPU kullanımı% 100 olsa bile CPU frekansı her zaman minimumdur


15

Bu sorunun ne zaman başladığını bilmiyorum, Ubuntu'yu (16.04, taze) kurduğumdan beri olmuş olabilir. Ubuntu'nun alışılmadık derecede yavaş, ortamın dalgalı ve CPU kullanımının boşta bile yüksek olduğunu gözlemliyordum, başlangıçta bazı programların yavaşladığını düşündüm.

Bir süre sonra, neye neden olduğunu anladım, CPU frekansı koşullara bakılmaksızın durmadan 800 MHz'e ayarlandı. Maksimum frekansın Turbo-boost ile 3100 MHz ve genellikle 2000 MHz olması gerekiyordu. Blender'ın CPU'da bir şeyler oluşturmasını sağlayarak CPU kullanımını (2 çekirdekteki tüm 4 iş parçacığından)% 100'e ayarladım, hala 800 MHz'de kalıyor.

Maksimum performans profilini ayarlamayı denedim, ancak yine de düşük. Sıcaklığı test ettim, 87 ° C yüksek ve 105 ° C kritik kabul edildiğinde her zaman 60 ° C gibi görünüyor. Sürekli AC gücüyle çalışıyorum, pil bir süre önce şarj olmuyor gibi görünüyor.

Cpufreq-info raporları:

 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 - 3.10 GHz
 available cpufreq governors: performance, powersave
 current policy: frequency should be within 2.00 GHz and 3.10 GHz.
                 The governor "performance" may decide which speed to use
                 within this range
 current CPU frequency is 800 MHz (asserted by call to hardware).

Diğer 3 CPU ünitesi için de aynıdır.

Lscpu raporları:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Model name:            Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Stepping:              9
CPU MHz:               799.921
CPU max MHz:           3100,0000
CPU min MHz:           800,0000
BogoMIPS:              3990.99
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              4096K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts

Güç tasarrufu modunda, aynı şekilde davranır. AC gücünün bağlantısını keser ve pille çalışırsam, CPU frekansı 2800 MHz'e fırlar, bu yüzden sadece AC gücüyle ilgili bir sorun gibi görünüyor (bu, yapması gerekenin tam tersidir).

Değişiklik CPU profillerini ayarlamaya çalıştım, frekans ölçeklendirmeyi devre dışı bırakmaya çalıştım ( CPU frekans ölçeklendirmesini nasıl devre dışı bırakabilirim ve sistemi performansa nasıl ayarlayabilirim? ), / Sys / device / system / cpu / cpu'da scaling_min_freq ayarlamaya çalıştım [0-3] / cpufreq daha yüksek bir değere ulaştı, ancak hiçbiri bir şey yapmadı. Frekans minimum kalır.

CPU tipi Intel (R) Core (TM) i7-3537U CPU @ 2.00GHz, bilgisayar Dell Inspiron 15z Touch.

Bilgisayar AC adaptöründen beslenmiş olsa bile pilin şarj edilmemesiyle ilgili bir sorunum var.

Daha fazla teşhis:

$ sudo rdmsr --bitfield 15:8 -d -a 0x198
8
8
8
8
$ sudo rdmsr --bitfield 15:8 -d -a 0x199
9
8
9
9

0x199 durumunda, 8 ve 9 numaralarına ardışık çağrılar arasında rastgele izin verildiği görülmektedir.


Son zamanlarda ve benzer bir şekilde CPU Model 58 için birkaç benzer rapor vardı. Hmmm ... Bilgisayarınız hangi marka? Göz at Bu intel_pstate CPU frekansı sürücüye harici bir şey frekansı düşük tutuyor. % 100 yükte CPU vurgulamakla birlikte, bakmak olabilir sudo rdmsr --bitfield 15:8 -d -a 0x198ve sudo rdmsr --bitfield 15:8 -d -a 0x199Ve sorunun çıkış ekleyin. Not rdmsrpaket tarafından sağlanır msr-toolsve ilk önce msr modülünün yüklenmesini gerektirir sudo modprobe msr.
Doug Smythies

Test için güç tasarrufu valisini kullanın.
Doug Smythies

İstenen bilgileri ilk gönderiye ekledim. Kısacası, bilgisayarım bir Dell Inspiron 15z Touch, Bug 118751'in bir örneği gibi görünüyor (çünkü pil ile çalışırken sorun yok oluyor). Güç tasarrufu valisini kullanmak hiçbir şeyi değiştirmez.
Dugi

Bu hatayla ilgili tartışmada Marcin Nowak ile olduğu gibi, pilimin hiç veya çok yavaş şarj edildiğini görüyorum (bilgisayar kapalı olsa bile). Ancak AC gücü hiçbir şekilde zayıf görünmüyor.
Dugi

Hata raporuyla devam etmek istiyor musunuz? İntel_pstate CPU frekans sürücüsünün dışında bir şey CPU frekanslarını en düşük pstate'lerde tutuyor. Acpi_cpufreq CPU frekans sürücüsünü kullanarak önyükleme yaparsanız, ne elde edersiniz cat /sys/devices/system/cpu/cpufreq/policy0/bios_limit?
Doug Smythies

Yanıtlar:


12

Diğer sürücünün acpi_cpufreq daha iyi değerler bildirdiği, ancak hiçbir zaman ayarlamadığı için bu sorunun intel_pstate sürücüsü ile ilgisiz olduğu ortaya çıktı. İşletim sisteminin muhtemelen bu konuda kontrolü yoktu.

Bu, şarj işlemi dizüstü bilgisayarın AC tarafından desteklendiği, ancak şarj edilmediği şekilde kesildiğinde bazı Dell dizüstü bilgisayarlarda meydana gelen bir sorundur. Donanım sorununun giderilmesi sorunu ortadan kaldırır. Bu durumda, güç konektöründe elektrik temasını engelleyen neredeyse görünmez bir kumaş parçasıydı.


1
Ama ne yapmalı, şu an donanım (şarj cihazı) değiştiremiyorum?
Vedavrat

Konektörü kontrol ederim, bir şeylerin yanlış olması ihtimali var ve manuel olarak düzeltilebilir. Değilse, yavaş CPU ile (ölümcül olmayan) muhtemelen acı çekmeniz gerekecektir. Bu, işletim sistemi veya sürücülerle ilgili olmayan bir donanım sorunudur.
Dugi

Dell Inspiton 15R N5110 Intel i7-2860QM, şarj etmeyi bıraktığı noktaya kadar ölmekte olan meyilliydi ve beni 800 MHz ile bıraktı. Ben BIOS ve engelli açtı Charger Behaviorve Adapter Warnings. Hamuru çıkartıp tekrar geri çekti. Ayrıca Windows'da, ancak Yüksek Performans Profiline koydu. İşlemcimi geri aldım ve 2500 MHz aldım. Böylece değiştirilmeden sorunun üstesinden gelmek mümkündür.
dzmitry.lahoda

1
Açıklığa kavuşturmak için piliniz şarj olmuyor muydu? Yani, OP ile aynı sorunum varsa, ancak pilim şarj oluyor gibi görünüyor (dizüstü bilgisayar pil üzerinde uzun saatler sürüyor), o zaman farklı bir sorunum var mı?
Garrett

1
@Garrett Pil şarj edilmiyordu. Hamur şarj olursa, bu sorun değildir. Sorun, BIOS'un dizüstü bilgisayarın AC tarafından çalıştırıldığı, ancak pilin şarj edilmediği beklenmedik bir duruma gelmesiydi.
Dugi

3

Bu, cpu frekansınızı herhangi bir terminalden en yüksek hıza ayarlayacaktır:

sudo cpufreq-set -f `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`

Bunu kalıcı olarak eklemek için /etc/init.d/ondemand dosyasını düzenleyin. ondemand oturum açma sırasında frekansınızı değiştirmek için kullanılır. Varsayılan 'ondemand' düzenleyicisidir. Başka bir deyişle, 800mhz'den başlayıp gerektiği kadar yükselirsiniz.


2
Yardımcı olur. Teşekkür ederim! Ancak daha sonra CPU frekansını minimumdan (800 Mhz) maksimuma (3200 MHz) değiştiririz ve yüklemeye göre CPU frekansını 0,8 ile 3,2 GHz arasında nasıl ayarlayabiliriz (değiştiririz)? Teşekkür ederim.
Vedavrat

2

Aynı sorunu vardı - dizüstü bilgisayar hala üzerinde taşıma çantası aşırı ısınan bir kapatma sonra ubuntu yanı sıra windows sıkışmış cpu freq.

BIOS'a gittim ve "güç" te cpu güç yönetimini devre dışı bıraktım ve diğer her şeyi tam gaza getirdim (maksimum performans). Yeniden başlatıldı, tam hıza, ardından BIOS'a geri döndü ve işlemci yönetimini tekrar etkinleştirdi ve daha önce değiştirdiğim diğer ayarları düzeltti. Et voilà!

EDIT: Bunun bir pil sorunu olduğu ortaya çıkıyor. Pil gerçekten düşükse, işlemci hızlanmaz (güç tasarrufu yapacağımı varsayıyorum). Thinkpad'imde, makineyi tekrar açmadan ÖNCE şarj LED'i hızlı titremeyi durdurana kadar pili birkaç dakika şarj etmem gerekiyor.


Aynı şeyi XPS 15 cihazımda da yaptım, ancak güç yönetimini hiçbir zaman yeniden etkinleştirmedim. O zamandan beri hızlı ve sabit çalışır. (Pil artık biraz etkilenmiş ama bu benim için çok önemli değil)
pandaadb

2

Bazen dizüstü bilgisayarım cpufreq ayarlarını tamamen yok sayar. Bu işleri buldum:

Güç kablosunu çıkarın ve tekrar takın. Düzeltildi :)

Bunun sebebinin makinenin kafasının karıştığını tahmin ediyorum: pil üzerinde olduğunu düşünüyor ve pilin düşük olduğunu düşünüyor, bu nedenle güç tasarrufu için CPU'nun altında kalıyor.

Sadece gerçekten takılı ve iyi durumda olduğunu bilmemiz gerekiyor.

(Asus x453m dizüstü bilgisayar burada, Ubuntu 14.04) YouTube: Kapatıp tekrar açmayı denediniz mi?


Vay canına, evet bu benim için çalıştı!
Tim

0

Aynı sorunu ThinkPad T520 ile de yaşadım. İnternette bulunan tüm çözümleri denedikten sonra Ubuntu'yu yeniden kurmaya hazırdım. Ama sonra Windows'ta CPU frekansını kontrol ettim ve 800 MHz ile sınırlı olduğunu gördüm.

Bu yüzden donanım sorunu olarak görünüyordu. CPU soğutma ile ilgili sorunlar olduğu açık değildi, çünkü soğutucu RPM'leri düşüktü ve dizüstü bilgisayar kasası sıcak veya hatta sıcak değildi.

Zaten başka bir seçenek olmadığından, dizüstü bilgisayarı söktüm ve CPU ve GPU yongalarında termal arayüzü yunanca değiştirdim. Ve biliyor musun? Yardımcı oldu!

Django projelerimin yürütme sürelerinden birinde birim testleri 45 dakikaydı, şimdi 11 dakikadır.

Bu nedenle, özellikle dizüstü bilgisayarda benzer bir sorunla karşılaşırsanız - muhtemelen kurutulmuş stok termal arayüzü nedeniyle - 3-5 yıl sonra genellikle işi yapmayı bırakır. Ve temiz radyatör, sessiz soğutucu ve serin dizüstü bilgisayar gövdesi tarafından aldanmayın.


0

Geçici çözüm

# Determinate CPU capabilities
MAX_CPU=$(cpupower frequency-info -l | tail -n1 | cut -d' ' -f2)

# Disable "BD PROCHOT" 
wrmsr -a 0x1FC 262238;

# Set and apply frequencies
cpupower frequency-set \
  -d $(expr $MAX_CPU / 2) \
  -u $MAX_CPU \
  -r \
  -g performance; 

0

Bazen sadece ölçekleme valisini ayarlamakla ilgili değildir. Ölçekleme politikaları bazen MIN_FREQ ile MIN_FREQ arasında ayarlanır. Her şeyi tek seferde düz ayarlamak için bir senaryo yazmak zorunda kaldım:

#!/bin/bash
echo "Setting all CPUs to " "$@"
CPUINFO_MIN_FREQ=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq)
CPUINFO_MAX_FREQ=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq)
MIN=$(echo "scale=1; $CPUINFO_MIN_FREQ / 1000000" | bc)"G"
MAX=$(echo "scale=1; $CPUINFO_MAX_FREQ / 1000000" | bc)"G"

echo "Minimum frequency: " $MIN ", Maximum frequency: " $MAX

GOVERNOR=@0
if [ $# -eq 0 ]
    then
        echo "No arguments supplied, using ONDEMAND governor"
        GOVERNOR="ondemand"
    else
        echo "Governor " $1 " supplied"
        GOVERNOR=$1
fi

for ((i=0;i<$(nproc);i++));
    do cpufreq-set -c $i -r -g $GOVERNOR  --min $MIN --max $MAX;
done
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.