web-dev-qa-db-ja.com

プロセスのCPUターボブーストをオフにします

CPU(Intel i5-8400)に大きな負荷がかかると、ファンの速度が上がり、音がするようです。

CPUを集中的に使用するバックアッププロセスを実行するときのノイズを排除したい(backup2lプログラム)。 (gzipでバックアップを圧縮するため、明らかにCPUに負荷がかかります。)

ターボブーストを使用しないプロセスを作成するにはどうすればよいですか?

私のOSはUbuntuLinux18.10です。

そのような機能がLinuxで利用できない場合は、機能の提案を報告する必要があります。

2
porton

それがcpulimitの目的です。

cpulimit --exe=gzip --background --limit=100
cpulimit --exe=tar --background --limit=100

これにより、backup2lスクリプトで使用される最もCPUリソースを大量に消費するプログラムの合計CPU使用率が、コアあたり100%に制限されます。それでもノイズが多すぎる場合は、マシンが再び静かになるまでその数を減らします。

backup2lが終了したら、killall cpulimitだけで通常の操作に戻ります。

注:車のように2コアのみに制限すると、バックアップに2倍の時間がかかる場合があります。高速でノイズが多い...

6
Fabby

/usr/local/bin/myproclimitator

#!/bin/bash
#
PIDNUM=$1

while sleep 1;do 
 kill -CONT $PIDNUM
 sleep 0.1
 kill -STOP $PIDNUM || exit 
done

次のように呼びます:

myproclimitator pidnum 

から プロセッサブースト制御

/sys/devices/system/cpu/cpufreq/boost

システム全体のブースト設定を制御します。そのファイルは、「0」(ブーストが無効)または「1」(ブーストが許可)のいずれかで読み書きできます。

これはグローバル設定であるため、そこに0を書き込むと、allプロセスがブーストを使用してノイズを発生するのを防ぐことができます。

2
JigglyNaga