web-dev-qa-db-ja.com

CPU使用率が100%であっても、CPU周波数は常に最小です

この問題がいつ発生し始めたのかわかりませんが、Ubuntu(16.04、フレッシュ)をインストールした時からであったかもしれません。私は、Ubuntuが異常に遅く、環境が不安定で、アイドル状態でもCPU使用率が高いことを観察していました。最初は、何らかのプログラムがそれを遅くしていると思いました。

しばらくして、原因を突き止めました。CPU周波数は、状況に関係なく、ノンストップで800 MHzに設定されています。最大周波数は、Turbo-boostで3100 MHz、通常2000 MHzと想定されています。 BlenderにCPUの一部をレンダリングさせることで、CPU使用率(2コアの4つのスレッドすべて)を意図的に100%に設定しましたが、800 MHzのままです。

最大パフォーマンスプロファイルを設定しようとしましたが、まだ低いままです。私は温度をテストしましたが、87°Cが高く、105°Cが重要であると見なされるときは常に60°Cのようです。私は常にAC電源で動作していますが、バッテリーはしばらく前から充電されていないようです。

これは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つのCPUユニットでも同じです。

これは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

省電力モードでは、同じように動作します。 AC電源を切断してバッテリーで動作させると、CPU周波数が2800 MHzに急上昇するため、AC電源でのみ問題になるようです(これは、想定される動作とは正反対です)。

CPUプロファイルの変更を設定しようとしましたが、周波数スケーリングを無効にしようとしました( CPU周波数スケーリングを無効にしてシステムをパフォーマンスに設定するにはどうすればよいですか? )、/ sys /にscaling_min_freqを設定しようとしましたdevices/system/cpu/cpu [0-3]/cpufreqを高い値に設定しましたが、どちらも何もしませんでした。頻度は最小のままです。

CPUタイプはIntel(R)Core(TM)i7-3537U CPU @ 2.00GHz、コンピューターはDell Inspiron 15z Touchです。

また、コンピューターにACアダプターから給電されていても、バッテリーが充電されないという問題があります。

その他の診断:

$ 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の数字は連続する呼び出し間でランダムに並べ替えられているように見えます。

14
Dugi

他のドライバーであるacpi_cpufreqはより良い値を報告したが、決して設定しないため、この問題はintel_pstateドライバーとは無関係であることが判明しました。 OSはおそらくこれを制御できませんでした。

これは、特定のDellラップトップで、ラップトップがACで駆動されているが充電されていない方法で充電が中断されたときに発生する問題です。ハードウェアの問題を修正することにより、問題が解消されます。この場合、電源コネクタ内のほとんど目に見えない布が電気的接触を防止していました。

12
Dugi

私は同じ問題を抱えていました-ラップトップがまだオンになっているキャリーケースで過熱シャットダウンした後、cpu freqがubuntuとwindowsで立ち往生しました。

BIOSにアクセスし、「power」でCPUの電源管理を無効にして、他のすべてをフルスロットルにしました(最大パフォーマンス)。再起動し、フルスピードに戻してからBIOSに戻し、CPU管理を再度有効にし、以前に変更した他の設定を修正しました。ほら!

編集:バッテリーの問題であることが判明しました。バッテリーの残量が非常に少ない場合、CPUの速度は上がりません(電力を節約すると仮定します)。 ThinkPadで、マシンを再びオンにする前に、充電LEDが速く点滅しなくなるまで、数分間バッテリーを充電する必要があります。

2
Joerg Baach

これにより、任意の端末からCPU周波数が最高速度に設定されます。

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

/etc/init.d/ondemandファイルを編集して、これを永続的に追加します。 ondemandは、ログイン中に周波数を変更するために使用されます。デフォルトは「オンデマンド」ガバナーです。つまり、800mhzから開始し、必要に応じて上昇します。

2
Roger Lawhorn

時々私のラップトップはcpufreqの設定を完全に無視します。私はこれを見つけました:

電源コードを抜き、再度差し込みます。修正済み:)

その理由は、マシンが混乱しているためだと推測しています。それは、バッテリーにあると考えており、バッテリーが少ないと考えているため、電力を節約するためにCPUをアンダークロックします。

実際にプラグインされて正常に動作していることを知らせる必要があります。

(Asus x453mラップトップはこちら、Ubuntu 14.04) YouTube:オフにしてからもう一度オンにしてみましたか?

2
joeytwiddle

ThinkPad T520でも同じ問題が発生しました。インターネットで見つかったすべてのソリューションを試した後、Ubuntuを再インストールする準備が整いました。しかし、その後、WindowsでCPU周波数を確認したところ、800 MHzに制限されていることがわかりました。

そのため、ハードウェアの問題に見えました。クーラーRPMが低く、ラップトップケースが熱くならず、暖かくさえなかったため、CPUの冷却に問題があることは明らかではありませんでした。

とにかく他のオプションがなかったので、ラップトップを分解し、CPUとGPUチップの熱インターフェイスgreeseを変更しました。そして、あなたは何を知っていますか?助けた!

私の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
eSlider