実験!memory消費量

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

$ vi memory_test
$ ls -lh memory_test.txt 
-rw-rw-r-- 1 hirayama hirayama 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の便利なオプションを紹介していきます。
 

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

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