CPUを一定の割合で使用中に保つ(CPUバズ周波数ノイズ防止) [オフ]

CPUを一定の割合で使用中に保つ(CPUバズ周波数ノイズ防止) [オフ]

Dell Inspiron 7559タッチパッドをタッチすると、キーボードの下で周波数が変わる電気的に揺れる音が聞こえます。

しかし、CPUが忙しい場合は、周波数が私の可聴範囲を超えているため、うなり声が聞こえません。

CPUを十分に使い、ラップトップを静かに保つために、次のスクリプトを実行したいと思います。

#!/bin/sh
recursiveDelay(){ sleep 0.001; recursiveDelay;}
recursiveDelay

しかし、CPUの割合は徐々に高くなります。

どのように特定の割合で維持できますか?

答え1

CPUがより積極的な省電力モードに移行することがあります。これにより、内部スイッチモードレギュレータがパルススキッピングモードに切り替わり、スイッチング周波数が可聴範囲に減少します。ノイズはインダクタとコンデンサで発生し、どちらもわずかにマイクロフォニックです(逆でも動作して音を出します)。

それは悪いデザインでしたが、とにかくあなたはそれに固執しました。

この問題を解決する「最も良い」方法は、BIOSに行き、CPUをあまり積極的に調整しないように構成することです。これにより、すべてのクールなバッテリー節約モードが開始されるのを防ぐことができます。

もう一つの方法は走ることです。効果がある次の作業セティ@ホームまたはあなたがしたい他の何かを行うことができます。私考えるcpulimitSETI @ HomeはCPU制限率を設定できますが、そうでない場合はLinuxコマンドを使用できます。

最も興味深い方法は、ストレステストユーティリティの1つを使用してサイクルを消費することです。 techrafはStress-ngを提案し、いくつかの他の同様のユーティリティもあります。

十分に細かい調整機能を持つユーティリティが見つからない場合には、Perlの1行コードを用意しました。スロットルを調整できます。私はPerlを使用しています。なぜなら、それが私が知っているすべてだからです。お気に入りのプログラミング言語を接続してください。

perl -MTime::HiRes=sleep -e 'sleep 0.0001 while 1'

0.0001 部分を変更すると、CPU の使用量が少なくなります。

答え2

DebianやUbuntuにインストール圧力NGそしてapt-get install stress-ng

次に、次を実行します。

stress-ng -c 1 -l 50

-c(CPU数)および-l(負荷率)パラメータを使用してください。


Fedora / RedHat / CentOSの場合はコンパイルする必要があるようです(ソースリポジトリここ) 次の手順に従ってください。

wget http://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-0.05.25.tar.gz
tar zxvf stress-ng-0.05.25.tar.gz
cd stress-ng-0.05.25/
make
./stress-ng -c 2 -l 50

関連情報