いいものを見つけたのでコピペ。
yes >> /dev/null &
最後に & お勧め w(二つターミナルが必要でなくなる。)
ちなみに メモリ負荷をあげる魔法のコマンド
/dev/null < $(yes) &LinuxでCPU負荷を上げる魔法のコマンド - Qiita
">>" は ">" でも良いと思うが、何か特別な理由があって">>"にしているのだろうか。
追記(2014/10/08):
ただのメモにはてブがたくさん(当社比)ついてビックリ(^-^;
コア数に対する考慮が足りない。
コア数に対する考慮が足りない。 - gomakyuのコメント / はてなブックマーク
とコメントを頂いた通り、上記のコマンドを実行しても1つの論理CPUを使い切るだけです。
例えば上の図の通り、1ソケット * 4コア * 2スレッド で論理CPU数が8の場合は、ざっくり、1多重で実行すると12.5%、4多重で実行すると50%、8多重で実行すると100%になります。
JPOUGのイベントで「私がPerlを使う理由」というお題でLTしました - ablog で4つ論理CPUの場合に Perl ワンライナーでCPU使用率を100%にする例を書いていますが、上記コマンドだと、4つの論理CPUの場合、
$ yes >> /dev/null & $ yes >> /dev/null & $ yes >> /dev/null & $ yes >> /dev/null &
と4多重で実行すると100%になります。
$ yes | xargs -L 1 -P 8 >> /dev/null # マルチコアの CPU LOAD は高くなった (死ねそうなのでバックグラウンドジョブにはしていない)
$ yes | xargs -L 1 -P 8 >> /dev/null # マルチコアの CPU LOAD は高くなった (死ねそうなのでバックグラウンドジョブにはしていない) - ymkjpのコメント / はてなブックマーク
とコメント頂きました。xargs の -P オプションで並列実行するとお洒落ですね*1。コメントの例は -P 8 なので8多重で実行することになります。
逆に性能分析の際は、システム全体ではCPU使用率は低くても、mpstat*2 などでCPU別に見ると1CPUは100%で張り付いていることがあります。
それだとマルチコア使わんのじゃない? OpenSSL が楽という覚えが…ああこれこれ http://d.hatena.ne.jp/tmatsuu/20140101/1388586426
それだとマルチコア使わんのじゃない? OpenSSL が楽という覚えが…ああこれこれ http://d.hatena.ne.jp/tmatsuu/20140101/1388586426 - Nyohoのコメント / はてなブックマーク
こちらのコメントで紹介されている id:tmatsuu さんのMac Pro(Late 2013)を火鉢に見立てて暖を取る方法 - Dマイナー志向で紹介されている "openssl speed -multi X" 便利ですね。
$ openssl speed -multi 4
CPU数に合わせて、100%使い切るには
openssl speed -multi `grep processor /proc/cpuinfo|wc -l`
としてやれば良いです。
最後に書籍紹介。
- 作者: 小田圭二,榑松谷仁,平山毅,岡田憲昌
- 出版社/メーカー: 翔泳社
- 発売日: 2014/06/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
Systems Performance: Enterprise and the Cloud (English Edition)
- 作者: Brendan Gregg
- 出版社/メーカー: Prentice Hall
- 発売日: 2013/10/07
- メディア: Kindle版
- この商品を含むブログを見る
「絵で見てわかるシステムパフォーマンスの仕組み」はオラクル小田さんの根本原理の説明から始まり、現場で性能試験をどうすればよいか?(オラクル榑松さん)、仮想化の場合は?(VMware岡田さん)、クラウドでは?(AWS平山さん)という秀逸な構成になっていて、根本原理を理解でき、さらに現場で直面する問題(性能試験どうすれば良い?仮想化、クラウドでは?)についても書かれていて、現場に置いておきたい1冊だと思います。
"Systems Performance: Enterprise and the Cloud"は元同僚で絵で見てわかるITインフラの仕組みを共著した[twitter:@takabow]に教えてもらった神本です。著者のwikipedia:Brendan Greggは Sun Microsystems の performance lead and kernel engineer で ZFS L2ARC の開発者でもあり、その後、 Oracle Corporation、Joyent を経て今は Netflix の Senior Performance Architect です。ハードウェアから UNIX、Solaris、Linux のカーネル、パフォーマンスまで深く幅広い知識を持ち、USE Method などシンプルでわかりやすいパフォーマンス分析手法を提唱しています。
関連
おまけ
「メモリ負荷をあげる魔法のコマンド」についても試してみたところ、メモリ使用量が増えました。変数 $(yes) がもりもり成長して、/dev/null にリダイレクトされないんでしょうね。
strace してみると、
$ strace /dev/null < $(pwd) execve("/dev/null", ["/dev/null"], [/* 53 vars */]) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe2339e1000 lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied ) = 32 close(3) = 0 munmap(0x7fe2339e1000, 4096) = 0 exit_group(1) = ? $ strace /dev/null < $(yes) zsh: fatal error: out of heap memory
そのようですね。
*1:Perl ワンライナーで遊んだメモ - ablog以来使っていなかった。
*2:top見ればすぐわかりますが