web-dev-qa-db-ja.com

ストレステストよりも温度モニタリングを絶対的に優先するにはどうすればよいですか?

自作のNAS)の冷却の問題についてストレステストを試みています。

stressも、FIRESTARTERも、mprime95も温度を管理しないので、それらすべて(つまり、現在実行しているもの)を強制終了する小さなスクリプトを作成します。温度が上がりすぎる場合:

Sudo renice -n -20 $$; \
maxitemp=0; \
while [ $maxitemp -le 40 ]; do
sleep 1
maxitemp=$(s-tui -j | jq "[.Temp|.[]|tonumber]|max")
echo "$(date +%Y-%m-%d_%H:%M:%S) Maximal Temperature $maxitemp"
done; \
echo "$(date +%Y-%m-%d_%H:%M:%S) EMERGENCY KILL BECAUSE OF HIGH TEMPERATURE" | tee -a ~/stresstest.txt; \
killall stress; \
killall FIRESTARTER; \
killall mprime

ただし、UbuntuライブCDを起動してインターネットに接続し、s-tuiとjqおよびmprimeをインストールして実行すると、prime95はワーカーとコンピューター(ラップトップ、実際に実行する前にテストをテストしているため)を起動します。私の貴重なNASで)応答が停止します、prime95をキャンセルできません、マウスが動かなくなり、光学ドライブがおかしくなります。 マシンの電源を切るのに十分な時間電源ボタンを押して停止する必要があります。上からスクリプトを単純なものに置き換えても

Sudo renice -n -20 $$; \
sleep 30; 
killall mprime

どうしてこんなことに?監視ネットとセーフティネットをストレスよりも絶対的に優先するにはどうすればよいですか?


更新

優先順位付けは問題ではなかったが、mprimeがRAMを使いすぎたため、スワップ/ディスクキャッシュがRAMドライブがおかしくなった原因となった。システムが応答しなくなります。

https://www.mersenneforum.org/showthread.php?t=25429

Powerload79の答えは他の人にも非常に役立つと思うので、この質問はここに残しておきます。

1
Kurtibert

絶対優先度を与えることはできませんが、次の操作を実行して、温度監視の相対的な優先度を大幅に最大化できます。

1)監視プロセスの優先度を-20に設定することに加えて、ストレスの多いタスクをNice -n 19で実行して、優先度を最小化するようにしてください。

2.1)cgroupを使用して、ストレスの多いタスクの優先度をさらに下げます。

# Create a user and group called idle:
adduser idle

# Create a corresponding cgroup
/bin/cgcreate -a idle:idle -t idle:idle -g cpu:idle
/bin/cgset -r cpu.shares=2 idle

# Run your stressful proccess as part of this cgroup
/bin/cgexec -g cpu:/idle /usr/bin/mprime

2.2)cgroupを使用して、監視タスクの優先度をさらに上げます。

# Create a user and group called fast:
adduser fast

# Create a corresponding cgroup
/bin/cgcreate -a fast:fast -t fast:fast -g cpu:fast
/bin/cgset -r cpu.shares=262144 fast

# Run your minitoring proccess as part of this cgroup
/bin/cgexec -g cpu:/fast /usr/bin/my_monitoring_script

これは、他のワークロードに干渉する集中的なタスクを防ぐことになると、大きな違いを生みます。監視タスクの実行に苦労することが少なくなるだけでなく、他のすべての通常のプロセスは、ストレステストが競合していないすべてのクロックサイクルを取得している間、妨げられることなく実行できるようになります。

3)ディストリビューションにそのツールが同梱されている場合は、tuned-admを使用してプロファイルを「レイテンシーパフォーマンス」に設定します。 Fedora/CentOS/RHEL。 Ubuntu/Debianで自分でビルドする必要があるかもしれません。

1
Gordan Bobic