実験!memory消費量

ここでviewmoreless使用時のmemory消費量がいかほどなものか実験してみたいと思います。
まず、400MBほどのファイルを用意します。
中身は単純なテキストです。

vi memory_test

 
400MBほど書きこみました。

ls -lh memory_test.txt
-rw-rw-r– 1 sooota sooota 404M 1月 6 09:03 memory_test.txt

さて、これをそれぞれのコマンドで開き、その時のプロセスのmemory消費量を計測します。
実験を行う環境のmemoryは

cat /proc/meminfo | grep MemTotal
MemTotal: 1016792 kB

であるため、1GBほどになります。

コマンドはpsauxオプションを使用していきます。
見方はUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDです。
まずはviewから

ps aux | grep memory_test  | grep -v grep
sooota 29359 7.0 48.1 641152 489860 pts/0 S+ 09:04 0:02 view memory_test.txt

4番目のmemory使用率をみてください。
48%使用していることから約500MBものメモリを消費していることがわかります。
CPUも7%とリソース的にあまりよろしくありません。

次にmoreです。

ps aux | grep memory_test  | grep -v grep
sooota 29366 0.0 0.0 110288 1000 pts/0 S+ 09:05 0:00 more memory_test.txt

memory使用率は0.0%とほとんど使われていないということがわかります。

最後にlessです。

ps aux | grep memory_test | grep -v grep
sooota 29371 0.0 0.0 110252 992 pts/0 S+ 09:06 0:00 less memory_test.txt

こちらもmoreと同様にmemory使用率は0.0%とほとんど使われていません。

ふとここで、lessで画面を沢山読み込んだ場合のmemory使用率はどうなるのか?という疑問が起きました。
ということで検証です。
検証方法は、lessでスペースを押して1画面ずつを大量に読み込み、その時のリソース状況を確認する。

やってみた結果がこちら

ps aux | grep memory_test | grep -v grep
sooota 29371 0.1 0.0 110252 992 pts/0 S+ 09:06 0:00 less memory_test.txt

memoryは変わらず0.0%と全然使われておらず、データを読み込んでいるせいかCPUが若干上がりました。
CPU性能はレンタルサーバのvCPUを使用しているので、性能面で測ることができませんが、大した使用率ではないですね。

リソース状況的には、viewはmemoryを沢山使い、more、lessはほとんど使われないため、大きなファイルを読み込む時はmore、lessを使用しないと危険ということがわかります。

次はlessの便利なオプションを紹介していきます。
 

ブログランキングに参加しています。クリックして応援していただけると嬉しいです。

人気ブログランキング
ブログランキング・にほんブログ村へ
にほんブログ村