低いCPU速度でプログラムを実行しますか?

低いCPU速度でプログラムを実行しますか?

runat 400mhz ./my-program --argument-of="my program"固定(低)CPUクロック速度(たとえば、そのクロック速度を取得するため)を使用してLinux環境で特定のプログラムを実行することは、私にとって非常に便利です。

遅延が正確でない場合(たとえば、OSのスケジューラによってほぼ確実に異なる場合など)を殺さないように、プログラム内の各アセンブリコマンド間に遅延を生成する必要があります。

目標は、学校であまり重くないアプリケーションを書くときのアルゴリズム効率を非常に明確にすることです(3GHz CPUを使用すると、実際に最適化できる短い実行時間を持つ遅いアルゴリズムに気付くことが困難です)。また、リアルタイムで競争状況を把握するのに役立ちます。

そのようなツールがあることをご存知ですか?これを達成するためにハッキングできる通訳者の種類はありますか? gdbは比較的簡単な方法で助けることができますか?私はこれがLinuxプログラムの実行を制御するのに最も近いものだと思います。

CPUが制限されたVMで脆弱なシステムを実行することは、CPUが遅いように見えるため、別のオプションかもしれませんが、とにかく単一のプログラムを実行する方が良いでしょう。

ベストアンサー1

あなたが探しているアプリケーションは次のとおりです。cpulimit。これは通常システムに含まれるコマンドではないため、ディストリビューションのパッケージマネージャ(Ubuntu / Debian)またはソースからインストールする必要があります。

Ubuntu/Debian

$ apt-cache search cpulimit
cpulimit - tool for limiting the CPU usage of a process

したがって、インストールは次のようになります。

$ sudo apt-get install cpulimit

ソースから

次のようにダウンロードしてください。

$ wget https://github.com/opsengine/cpulimit/archive/master.zip \
       -O cpulimit-master.zip

解凍してビルドします。

$ unzip cpulimit-master.zip ; cd cpulimit-master ; make

使用法

を使用してインストールできますが、make install今はビルドされたディレクトリで使用されます。

$ pwd
/home/saml/tst/96387/cpulimit-master
$ src/cpulimit -e firefox -l 30

これは、呼び出しプロセスをfirefox使用可能なCPU使用率の30%に制限します。

呼び出し後に実行中のプロセスにも適用できます。

$ pgrep firefox
1234

$ src/cpulimit -p 1234 -l 30

残りの使い方を見ることができますcpulimit

$ src/cpulimit 
Error: You must specify a cpu limit percentage
Usage: cpulimit [OPTIONS...] TARGET
   OPTIONS
      -l, --limit=N          percentage of cpu allowed from 0 to 400 (required)
      -v, --verbose          show control statistics
      -z, --lazy             exit if there is no target process, or if it dies
      -i, --ignore-children  don't limit children processes
      -h, --help             display this help and exit
   TARGET must be exactly one of these:
      -p, --pid=N            pid of the process (implies -z)
      -e, --exe=FILE         name of the executable program file or path name
      COMMAND [ARGS]         run this command and limit it (implies -z)

Report bugs to <[email protected]>.

Cyber​​citi.bizには、次の使用法に関する良いチュートリアルもあります。LinuxはプロセスごとのCPU使用量を制限します。

メモ:CPU使用率はパーセンテージに制限されるため、クアッドコアケース(4 CPU)がある場合は0%から400%の間に制限する必要があります。

おすすめ記事