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]>.
Cyberciti.bizには、次の使用法に関する良いチュートリアルもあります。LinuxはプロセスごとのCPU使用量を制限します。。
メモ:CPU使用率はパーセンテージに制限されるため、クアッドコアケース(4 CPU)がある場合は0%から400%の間に制限する必要があります。