Частота процесора завжди мінімальна, навіть якщо кількість процесора становить 100%


15

Я не знаю, коли ця проблема почала виникати, можливо, це було з моменту встановлення Ubuntu (16.04, свіжий). Я зауважував, що Ubuntu надзвичайно повільний, навколишнє середовище спритневе, а використання процесора було високим навіть у режимі очікування, спочатку думав, що якась програма сповільнює його.

Через деякий час я зрозумів, що це викликає, частота процесора встановлюється на 800 МГц, без зупинки, незалежно від обставин. Максимальна частота повинна становити 3100 МГц при Turbo-імпульсі та 2000 МГц зазвичай. Я навмисно встановив використання процесора (усіх 4-х потоків на 2 ядрах) на 100% завдяки тому, що Blender виводить деякі елементи на процесор, він все ще залишається на 800 МГц.

Я спробував встановити профіль максимальної продуктивності, але він все ще залишається низьким. Я перевіряв температуру, вона, здається, була 60 ° C весь час, коли 87 ° C вважається високою, а 105 ° C критичною. Я постійно працюю на струмі змінного струму, акумулятор, здається, не заряджається з деякого часу тому.

Про це повідомляє 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).

Це ж саме для інших 3 процесорних одиниць.

Про це повідомляє 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

У режимі енергозбереження він поводиться однаково. Якщо я відключую живлення змінного струму та працюю на акумуляторі, частота процесора зростає до 2800 МГц, тож, здається, це проблема лише у живлення змінного струму (що зовсім протилежне тому, що він повинен робити).

Я спробував встановити зміни CPU-профілів, я спробував відключити масштабування частоти ( як я можу відключити масштабування частоти процесора та встановити систему на продуктивність? ), Я спробував встановити масштабування_min_freq в / sys / devices / system / cpu / cpu [0-3] / cpufreq до більш високого значення, але жоден з них нічого не робив. Частота залишається мінімальною.

Тип процесора - це Intel (R) Core (TM) i7-3537U CPU при 2,00 ГГц, комп'ютер - Dell Inspiron 15z Touch.

У мене також є проблема з тим, що акумулятор не заряджається, навіть якщо комп'ютер живиться від адаптера змінного струму.

Більше діагностики:

$ 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 цифри 8 і 9 виявляються випадковими перестановками між послідовними дзвінками.


Останнім часом було декілька подібних звітів, і це часто для CPU Model 58. хммм ... Який бренд є вашим комп'ютером? Погляньте на це , де щось зовнішнє для драйвера частоти процесора Intel_pstate утримує низьку частоту. Підкреслюючи ваш : CPU при 100% навантаженні, НЕ могли б ви подивитися на sudo rdmsr --bitfield 15:8 -d -a 0x198і sudo rdmsr --bitfield 15:8 -d -a 0x199додати висновок на ваше запитання. Примітка rdmsrнадається пакетом msr-toolsі вимагає, щоб спочатку завантажувався модуль msr sudo modprobe msr.
Doug Smythies

Будь-ласка, використовуйте губернатор-губернатор для тесту.
Doug Smythies

Я додав запитувану інформацію до початкової публікації. Коротше кажучи, на моєму комп’ютері Dell Inspiron 15z Touch, схоже, це примірник помилки 118751 (тому що проблема зникає при роботі від акумулятора). Використання губернаторського губернатора нічого не змінює.
Дугі

Я помітив, що точно так само, як і в Марсіна Новака в дискусії про цю помилку, схоже, моя батарея заряджається зовсім не надто повільно (навіть якщо комп'ютер вимкнено). Однак, живлення змінного струму ні в якому разі не є слабким.
Дугі

Ви хочете продовжити через звіт про помилку? Щось зовнішнє для драйвера частоти процесора Intel_pstate тримає частоти процесора на найнижчих рівнях. Якщо ви завантажуєтесь за допомогою драйвера частоти процесора acpi_cpufreq, що ви отримуєте cat /sys/devices/system/cpu/cpufreq/policy0/bios_limit?
Doug Smythies

Відповіді:


12

Виявилося, що ця проблема не була пов'язана з драйвером intel_pstate, тому що acpi_cpufreq, інший драйвер, повідомляв про кращі значення, але ніколи їх не встановлював. ОС, мабуть, не контролювала це.

Це проблема, яка виникає з певними ноутбуками Dell, коли зарядка порушена таким чином, що ноутбук працює від змінного струму, але не заряджається. Виправлення апаратної проблеми усуває проблему. У цьому випадку майже невидимий шматок тканини в роз'ємі живлення перешкоджав електричному контакту.


1
Але що робити, якщо зараз я не можу замінити обладнання (зарядний пристрій)?
Ведаврат

Я перевірив би з'єднувач, є ймовірність, що з ним щось не так, і його можна виправити вручну. Якщо ні, то, ймовірно, доведеться страждати (не фатальні) проблеми з повільним процесором. Це апаратні проблеми, не пов'язані з ОС або драйверами.
Дугі

Мій Dell Inspiton 15R N5110 Intel i7-2860QM був із вмираючим тістом аж до того моменту, коли він перестав заряджатися, залишивши мені 800 МГц. Я відкрив BIOS і відключив Charger Behaviorі Adapter Warnings. Зняв тесто і знову. Також у Windows, але поставлений на профіль високої продуктивності. І повернув мій процесор і отримав 2500 МГц. Тож можна подолати питання без заміни.
dzmitry.lahoda

1
Для уточнення, ваш акумулятор не заряджався? Отже, якщо у мене така ж проблема, як у ОП, але, здається, мій акумулятор заряджається нормально (ноутбук працює багато годин на батареї), то у мене інша проблема?
Гаррет

1
@Garrett Акумулятор не заряджався. Якщо тісто заряджається, то це не ця проблема. Проблема полягала в тому, що BIOS потрапив у несподівану ситуацію, коли ноутбук працював від змінного струму, але акумулятор не заряджався.
Дугі

3

Це встановить ваш процесор freq на максимальній швидкості з будь-якого терміналу:

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

Відредагуйте файл /etc/init.d/ondemand, щоб назавжди додати це. ondemand використовується для зміни вашого частоти під час входу. За замовчуванням - губернатор "вимоги". Іншими словами, ви починаєте з 800 МГц і піднімаєтеся в міру необхідності.


2
Це допомагає. Дякую! Але тоді ми просто змінюємо частоту процесора з мінімальної (800 МГц) на максимальну (3200 МГц), і як налаштувати на коригування (змінну) частоту процесора між 0,8 та 3,2 ГГц, якщо потрібно, відповідно до завантаження? Дякую.
Ведаврат

2

У мене була така ж проблема - процесор CPU застряг в ubuntu, а також windows, після перегрітого вимикання в коробці з ноутбуком, який все ще входить.

Я перейшов до BIOS і відключив керування живленням процесора в режимі "power", а все інше поставив на повний газ (максимальна продуктивність). Перезавантажився, повернувся на повну швидкість, потім повернувся до BIOS, і знову включив управління процесором, а також виправив інші налаштування, які я змінив раніше. Et voilà!

EDIT: Виявляється, це проблема з акумулятором. Якщо акумулятор дійсно низький, процесор не прискориться (я припускаю, що економить енергію). На моєму блокноті мені доведеться заряджати акумулятор протягом декількох хвилин, поки світлодіодний заряд не перестане швидко мерехтіти, перш ніж я знову включаю машину.


Я робив те ж саме на моєму XPS 15, хоча я ніколи не вмикав керування живленням. З тих пір, як вона працює швидко і постійно. (Акумулятор зараз трохи постраждав, але це для мене не дуже важливо)
pandaadb

2

Іноді мій ноутбук повністю ігнорує налаштування cpufreq. Я знайшов це:

Від'єднайте шнур живлення та підключіть його знову. Виправлено :)

Я здогадуюсь, причина полягає в тому, що машина заплуталася: вона вважає, що це на акумуляторі, і він вважає, що акумулятор розряджений, тому він розгинає процесор для економії енергії.

Нам просто потрібно дати йому знати, що насправді підключено до нього і працює добре.

(Ноутбук Asus x453m тут, Ubuntu 14.04) YouTube: Ви намагалися вимкнути та знову ввімкнути ?


Нічого собі, так це працювало для мене!
Тім

0

У мене була така ж проблема з моїм ThinkPad T520. Спробувавши всі рішення, знайдені в Інтернеті, я був готовий перевстановити Ubuntu. Але тоді я перевірив частоту процесора в Windows і виявив, що це обмежено до 800 МГц.

Тож це виглядало як апаратна проблема. Було не очевидно, що існують проблеми із охолодженням процесора, оскільки круті обороти в кулері були низькими, а корпус ноутбука був не гарячим або навіть теплим.

Оскільки інших варіантів у будь-якому разі не було, я розібрав ноутбук та змінив теплову інтерфейс в мікросхемах CPU та GPU. А ви знаєте що? Це допомогло!

Експертні випробування на одному з моїх проектів Django виконували 45 хв, зараз це 11 хв.

Отже, якщо ви зіткнетеся з подібним питанням, особливо на ноутбуці - можливо, це через те, що термоінтерфейс висохлої запаси - через 3-5 років він часто перестає виконувати свою роботу. І не обманюйте себе чистим радіатором, тихим кулером та крутим корпусом ноутбука.


0

Рішення для вирішення проблеми

# 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

Іноді справа не лише у встановленні регулятора масштабування. Політика масштабування іноді встановлюється між MIN_FREQ та MIN_FREQ. Мені довелося написати сценарій, щоб все зрозуміти за один раз:

#!/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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.