Pocket

Linuxの試験作業(メモリ食い潰し、巨大ファイル作成)

  • add this entry to hatena bookmark

Linuxでの、ちょっとした試験作業です。

メモリーを食い潰す試験

Linux上のメモリを食い潰した時のOS挙動を確認する試験です。

参考:メモリを食いまくるプロセスがメモリ使用量に与える影響をtopで追う (←非常に分かりやすい!)

1.1秒毎にメモリを10MBずつ消費するプログラムを用意します。

$ cat mem_eat.pl
#!/usr/bin/perl
# 1秒毎にメモリを10MB単位で消費
use strict;
use warnings;

# 空の配列を作成
my @mem_push = ();

while(1){
  sleep 1;
  # 配列に追加
  push(@mem_push , 1 x 1024 x 1024 x 10);
}
$

2.別画面で以下の画面を表示しておきます。

  • top -d 1 (top画面表示中に Shiftキー + o を押下した後に、nを押下すると、メモリ使用量でソートできる)
  • tail -f /var/log/messages

3.用意したスクリプトを実行します。

$ perl mem_eat.pl

topコマンド画面で、徐々にこのperlプロセスがメモリを消費していく事が分かります。

OSが認識している空メモリ量によりますが、スクリプトを実行してからしばらくするとスクリプトが強制終了されます。

$ perl mem_eat.pl
強制終了
$

4.開いていたtopコマンド画面とmessagesログ画面を確認します。

topコマンド画面では、該当のperlプロセスが消費していたメモリが開放された事が分かります。

/var/log/messagesには、「kernel: Out of memory」メッセージが表示されます。これはLinuxに実装されている「OOM Killer」によるプロセスの強制終了の結果です。

簡単に巨大ファイルを作成する

ddコマンドでnullを書き込んだ巨大ファイルを一気に作成します。

$ dd if=/dev/zero of=testfile1 bs=1M count=10

ディスクI/O試験やトラフィック測定などにも利用できます。スクリプトを組んでシーケンシャルWrite試験として利用する事も出来ます。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。