[Linux] 話題のyesコマンドを試してみた

参考:LinuxでCPU使用率を上げるコマンド

へー、YESコマンドなんてあるんや。

$ man yes

yes(1)                                                                  yes(1)

名前
yes – kill されるまで文字列を繰り返して出力する

書式
yes [string…]

yes [–help] [–version]

説明
yes はコマンドライン引数をスペースで区切って末尾に改行 (newline) を付加し、 kill されるまで繰り返して表示する。引数が一つも与えられないと、 yes は ‘y’ に
改行を付加したものを kill されるまで表示しつづける。

オプション
GNU yes が引数一つだけで起動された場合には、以下のオプションが認識される:

–help 標準出力に使用方法のメッセージを出力して正常終了する。

–version
標準出力にバージョン情報を出力して正常終了する。

なるほど。

実際にCPU使用率が上がるか試してみた。1CPUの環境です。

$ yes > /dev/null &
[1] 27260
$  yes > /dev/null &
[2] 27261

$ vmstat 5

0  0  procs ———–memory———- —swap– —–io—- –system– —–cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
68092 1867280  11212 363364    0    0     0    10  132  113  1  1 91  7  0
0  0  68092 1867652  11224 363364    0    0     0     4   89   96  0  0 87 12  0
0  1  68092 1867036  11264 363384    0    0     0    33  768  504  6  8 62 25  0
0  1  68092 1866604  11320 363404    0    0     0    54  130  141  0  1 64 35  0
1  1  68092 1867280  11348 363424    0    0     0    23   86   96  0  0 89 10  0
3  0  68092 1864180  11348 363428    0    0     0    16 1172  118 57  2 35  6  0★このあたりでコマンド実行
4  0  68092 1836104  11356 363460    0    0     0     3 1700  278 88 12  0  0  0 ★たしかにCPU100%になった
2  0  68092 1866704  11364 363428    0    0     0     8 1759  340 91  9  0  0  0
2  0  68092 1867116  11372 363428    0    0     0     9 1682   99 98  2  0  0  0
2  0  68092 1867264  11380 363428    0    0     0     3 1687   92 97  3  0  0  0
2  0  68092 1864432  11396 363432    0    0     0    27 1754  204 95  5  0  0  0

終わった後は、きちんとkill

$ kill -9 27260 27261
-bash: printf: write error: システムコール割り込み
[1]-  強制終了            yes > /dev/null
[2]+  強制終了            yes > /dev/null

 

おまけ、その1。普通に使ってみた。

$ yes yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can

おー、当時の熱狂を思い出すねw

 

おまけ、その2。

$ yes –version
yes (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

作者 David MacKenzie.

version 8ってw

 

オバマ Yes We Can! オバマ Yes We Can!
ロバータ・エドワーズ 日当陽子

岩崎書店 2009-01-09
売り上げランキング : 587647

Amazonで詳しく見る by G-Tools

[Virtualbox] 可変サイズの仮想ディスク(vdiファイル)肥大化時の対処方法

いつの間にか、Vitualboxの仮想ディスクを配置しているディスクの空き領域が少なくなっていた。

原因は可変サイズ指定の仮想ディスクが肥大化していた為。
可変サイズ指定は便利だけど、いつの間にかの肥大化には注意。

で、調べたら、縮小する方法があったのでメモ。

■手順

1.ゲストOS上で不要なデータを削除する。
無駄なファイル消したり、ゴミ箱消したり、デフラグしたり。
※今回は特に実施せず

2.ゲストOS上で空き領域をゼロクリアする
linuxの場合は以下のコマンドでOK
# dd if=/dev/zero of=zero bs=4k;rm zero
空き領域(/dev/zero)があったら、カレントディレクトリのzeroというファイルに書き出して、それを削除してるだけ。
実行例)
[root@node1 /]# dd if=/dev/zero of=zero bs=4k
1595263+0 records in
1595262+0 records out
6534193152 bytes (6.5 GB) copied, 185.925 s, 35.1 MB/s
[root@node1 /]# ls -l zero
-rw-r–r– 1 root root 6534193152  8月 19 19:26 2014 zero

※今回は6.5GB程度の縮小に成功

3.ホストOS上で仮想ディスクの縮小処理を実行

1)vdiのUUIDを確認
“C:Program FilesOracleVirtualBoxvboxmanage.exe” vboxmanage.exe list hdds

2) 以下のコマンドで縮小処理を実行
“C:Program FilesOracleVirtualBoxvboxmanage.exe”  <modifyhd (1)で確認したUUIDを指定> –compact

※ファイル名指定でもいけるとの噂。次回覚えてたら試そう。

 

■参考にしたサイト

http://vboxmania.net/content/%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E5%9C%A7%E7%B8%AE
http://freefielder.jp/blog/2014/05/virtualbox-hdd-size.html
http://d.hatena.ne.jp/kanonji/20100318/1268904950

 

はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS) はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS)
清水 美樹

工学社 2012-07
売り上げランキング : 262923

Amazonで詳しく見る by G-Tools