La frequenza della CPU è sempre al minimo, anche se l'immagine della CPU è al 100%


15

Non so quando ha iniziato a verificarsi questo problema, potrebbe essere stato dal momento in cui ho installato Ubuntu (16.04, nuovo). Stavo osservando che Ubuntu era insolitamente lento, l'ambiente era instabile e l'utilizzo della CPU era elevato anche quando era inattivo, inizialmente pensavo che qualche programma lo stesse rallentando.

Dopo qualche tempo, ho capito cosa lo stava causando, la frequenza della CPU è impostata su 800 MHz, senza sosta, indipendentemente dalle circostanze. La frequenza massima dovrebbe essere 3100 MHz con Turbo-boost e 2000 MHz di solito. Ho deliberatamente impostato l'utilizzo della CPU (di tutti e 4 i thread su 2 core) al 100% facendo in modo che Blender esegua il rendering di alcune cose sulla CPU, rimane comunque a 800 MHz.

Ho provato a impostare il profilo delle prestazioni massime, ma rimane ancora basso. Ho testato la temperatura, sembra essere sempre di 60 ° C, quando 87 ° C è considerato alto e 105 ° C critico. Sono sempre alimentato a corrente alternata, la batteria non sembra ricaricare da qualche tempo.

Questo è ciò che riporta cpufreq-info:

 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).

È lo stesso per altre 3 CPU.

Questo è ciò che riporta lscpu:

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

In modalità powersave, si comporta in modo identico. Se scollego l'alimentazione CA e corro a batteria, la frequenza della CPU sale alle stelle a 2800 MHz, quindi sembra essere un problema solo sull'alimentazione CA (che è esattamente l'opposto di ciò che dovrebbe fare).

Ho provato a impostare il cambiamento dei profili della CPU, ho provato a disabilitare il ridimensionamento della frequenza ( Come posso disabilitare il ridimensionamento della frequenza della CPU e impostare il sistema sulle prestazioni? ), Ho provato a impostare scaling_min_freq in / sys / devices / system / cpu / cpu [0-3] / cpufreq a un valore più alto, ma nessuno dei due ha fatto nulla. La frequenza rimane minima.

Il tipo di CPU è Intel (R) Core (TM) i7-3537U CPU a 2,00 GHz, il computer è Dell Inspiron 15z Touch.

Ho anche un problema con la batteria che non si carica anche se il computer è alimentato dall'adattatore CA.

Più diagnostica:

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

Nel caso di 0x199, i numeri 8 e 9 sembrano essere casualmente permutati tra chiamate consecutive.


Recentemente ci sono stati alcuni rapporti simili, e spesso per la CPU Modello 58. hmmm ... Di che marca è il tuo computer? Dai un'occhiata a questo , dove qualcosa di esterno al driver di frequenza della CPU intel_pstate sta mantenendo la frequenza bassa. Pur sottolineando le vostre della CPU al 100% del carico, si potrebbe osservare sudo rdmsr --bitfield 15:8 -d -a 0x198ed sudo rdmsr --bitfield 15:8 -d -a 0x199e aggiungere l'uscita alla tua domanda. La nota rdmsrè fornita dal pacchetto msr-toolse richiede che il modulo msr sia caricato per primo tramite sudo modprobe msr.
Doug Smythies,

Si prega di utilizzare il governatore powersave per il test.
Doug Smythies,

Ho aggiunto le informazioni richieste al post iniziale. In breve, il mio computer è un Dell Inspiron 15z Touch, sembra essere un'istanza di Bug 118751 (perché il problema svanisce quando funziona a batteria). L'uso del regolatore powersave non cambia nulla.
Dugi,

Ho notato che esattamente come con Marcin Nowak nella discussione su quel bug, la mia batteria sembra caricarsi per niente o estremamente lentamente (anche se il computer è spento). Tuttavia, la corrente alternata non sembra essere debole.
Dugi,

Vuoi continuare tramite la segnalazione di bug? Qualcosa di esterno al driver di frequenza della CPU intel_pstate sta mantenendo le frequenze della CPU ai loro stati più bassi. Se si avvia utilizzando il driver di frequenza della CPU acpi_cpufreq, cosa si ottiene cat /sys/devices/system/cpu/cpufreq/policy0/bios_limit?
Doug Smythies,

Risposte:


12

Si è scoperto che questo problema non era correlato al driver intel_pstate, perché acpi_cpufreq, l'altro driver, ha riportato valori migliori ma non li ha mai impostati. Il sistema operativo probabilmente non aveva alcun controllo su questo.

Questo è un problema che si verifica con alcuni laptop Dell quando la ricarica viene interrotta in modo che il laptop sia alimentato a corrente alternata ma non caricato. Risolvere il problema hardware rimuove il problema. In questo caso, era un pezzo di tessuto quasi invisibile nel connettore di alimentazione che impediva il contatto elettrico.


1
Ma cosa fare, se in questo momento non riesco a sostituire l'hardware (caricatore)?
Vedavrat,

Verificherei il connettore, c'è la possibilità che qualcosa non vada bene e possa essere riparato manualmente. In caso contrario, probabilmente dovrai soffrire dei problemi (non fatali) con una CPU lenta. Questo è un problema hardware non correlato al sistema operativo o ai driver.
Dugi,

Il mio Dell Inspiton 15R N5110 Intel i7-2860QM era con la pastella morente fino al punto in cui si fermava per caricarmi, lasciandomi con 800 MHz. Ho aperto il BIOS e disabilitato Charger Behaviore Adapter Warnings. Tirato fuori la pastella e viceversa. Anche in Windows, ma messo in Profilo ad alte prestazioni. E ho recuperato la mia CPU e ottenuto 2500 MHz. Quindi è possibile superare il problema senza sostituzione.
dzmitry.lahoda

1
Per chiarire, la batteria non è stata caricata? Quindi, se ho lo stesso problema dell'OP, ma la mia batteria sembra caricarsi correttamente (il laptop dura molte ore con la batteria), allora ho un problema diverso?
Garrett,

1
@Garrett La batteria non è stata caricata. Se la pastella si carica, non è questo il problema. Il problema era che il BIOS si trovava in una situazione inaspettata in cui il laptop era alimentato a corrente alternata, ma la batteria non era carica.
Dugi,

3

Questo imposterà la tua frequenza della CPU alla massima velocità da qualsiasi terminale:

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

Modifica il file /etc/init.d/ondemand per aggiungerlo permanentemente. ondemand viene utilizzato per modificare il tuo freq durante il login. L'impostazione predefinita è il governatore "ondemand". In altre parole, inizi a 800mhz e vai su se necessario.


2
Aiuta. Grazie! Ma poi cambiamo solo la frequenza della CPU da minima (800 Mhz) a massima (3200 MHz) e come impostare la regolazione della frequenza della CPU (variando) tra 0,8 e 3,2 GHz secondo necessità in base al caricamento, per favore? Grazie.
Vedavrat,

2

Ho avuto lo stesso problema: CPU Freq bloccato in Ubuntu e Windows, dopo un arresto surriscaldato nella custodia con il laptop ancora acceso.

Sono andato al BIOS e ho disabilitato la gestione dell'alimentazione della cpu in "power", e ho messo tutto il resto a tutto gas (massime prestazioni). Riavviato, torna alla massima velocità, quindi torna al BIOS, abilita nuovamente la gestione della CPU e corregge le altre impostazioni che ho modificato prima. Et voilà!

EDIT: si scopre che è un problema di batteria. Se la batteria è quasi scarica, la CPU non accelera (presumo per risparmiare energia). Sul mio thinkpad devo caricare la batteria per alcuni minuti, fino a quando il LED di ricarica smette di lampeggiare rapidamente PRIMA di riaccendere la macchina.


Ho fatto lo stesso sul mio XPS 15, anche se non ho mai riattivato la gestione dell'alimentazione. Da quando corre veloce e costante. (La batteria ora è un po 'interessata ma non è troppo importante per me)
pandaadb,

2

A volte il mio laptop ignora completamente le impostazioni di cpufreq. Ho trovato che funziona:

Scollegare il cavo di alimentazione e ricollegarlo. Risolto :)

Immagino che il motivo sia che la macchina si è confusa: pensa che sia a batteria, e pensa che la batteria sia scarica, quindi sblocca la CPU per risparmiare energia.

Dobbiamo solo fargli sapere che in realtà è collegato e funziona bene.

(Laptop Asus x453m qui, Ubuntu 14.04) YouTube: Hai provato a spegnerlo e riaccenderlo?


Wow, sì, questo ha funzionato per me!
Tim

0

Ho avuto lo stesso problema con il mio ThinkPad T520. Dopo aver provato tutte le soluzioni trovate su Internet, ero pronto a reinstallare Ubuntu. Ma poi ho controllato la frequenza della CPU in Windows e l'ho trovata limitata anche a 800 MHz.

Quindi sembrava un problema hardware. Non era ovvio che ci sono problemi con il raffreddamento della CPU, perché gli RPM più freddi erano bassi e il case del laptop non era caldo o addirittura caldo.

Dal momento che non c'erano altre opzioni, ho smontato il laptop e cambiato l'interfaccia termica greese nei chip CPU e GPU. E tu sai cosa? Ha aiutato!

I test unitari su uno dei miei progetti Django sono stati 45 minuti, ora 11 minuti.

Quindi, se dovessi affrontare il problema simile, soprattutto sul laptop - probabilmente è perché l'interfaccia termica a secco - dopo 3-5 anni spesso smette di fare il suo lavoro. E non lasciarti ingannare dal radiatore pulito, dal dispositivo di raffreddamento silenzioso e dal fantastico corpo del laptop.


0

Soluzione alternativa

# 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

A volte non si tratta solo di impostare il regolatore di ridimensionamento. I criteri di ridimensionamento sono talvolta impostati tra MIN_FREQ e MIN_FREQ. Ho dovuto scrivere una sceneggiatura per sistemare tutto in una volta sola:

#!/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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.