viコマンド実行時のメモリ使用量の検証

 contents

  1. サーバハングアップ!?viコマンドの罠
  2. viコマンド実行時のメモリ使用量の検証 ⇦今ここ

 
 
本当にviコマンド実行時にメモリが使用されてしまうのか?

実際にはどのくらいメモリが消費されるのか?

100MBのファイルを使って検証してみます。

 

メモリ消費の検証方法

 

やり方は簡単です。
dstatコマンドを別プロセスで実行しておき、メモリ使用量を監視します。

監視中に、viコマンドでファイルを開く。

メモリ使用量の変化を確認する。

その後、viコマンドをquitで抜ける。

メモリ使用量の変化を確認する。

では、実際に検証してみましょう。

 

検証結果

 

viで開くファイルを作成します。

$ ls -lh vi_test.txt 
-rw-rw-r-- 1 sooota sooota 103M  8月 14 16:03 vi_test.txt

別プロセスでdstat -tamを実行し、監視します。

viコマンドでファイルを開いた時

----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ------memory-usage-----
     time     |usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw | used  buff  cach  free
14-08 16:03:36|  0   0 100   0   0   0|   0     0 |1016B  572B|   0     0 |  72   116 | 691M    0   235M 67.6M
14-08 16:03:37|  0   0 100   0   0   0|   0     0 |1338B  740B|   0     0 |  84   126 | 691M    0   235M 67.6M
14-08 16:03:38|  0   0 100   0   0   0|   0     0 |1170B  768B|   0     0 |  74   125 | 691M    0   235M 67.6M
14-08 16:03:39|  1   1  99   0   0   0|8192B  122k|1124B  776B|   0     0 | 159   251 | 691M    0   235M 67.4M
14-08 16:03:40|  0   0 100   0   0   0|   0     0 | 666B  110B|   0     0 |  46    75 | 691M    0   235M 67.5M
14-08 16:03:41| 26   3  71   1   0   0|  12M 5120B|2879B 2249B|   0     0 |1209  1028 | 696M    0   233M 64.3M
14-08 16:03:42| 26   8  66   1   0   0| 100M  107k|1222B 3128B|   0    84k|1606   223 | 808M    0   115M 70.6M
14-08 16:03:43|  0   0 100   0   0   0|   0    99k| 600B   66B|   0     0 |  77   146 | 808M    0   115M 70.5M
14-08 16:03:44|  1   0 100   0   0   0|8192B   10k| 420B  478B|   0     0 | 110   195 | 808M    0   115M 70.5M
14-08 16:03:45|  0   0 100   0   0   0|   0    10k| 480B  462B|   0     0 |  72   134 | 808M    0   115M 70.5M
14-08 16:03:46|  0   1 100   0   0   0|   0     0 | 672B  932B|   0     0 |  74   118 | 808M    0   116M 69.7M
14-08 16:03:47|  0   0 100   0   0   0|   0     0 | 960B   66B|   0     0 |  67   100 | 808M    0   116M 69.7M
14-08 16:03:48|  0   0 100   0   0   0|   0     0 | 780B  462B|   0     0 |  73   123 | 808M    0   116M 69.7M

cacheにあったメモリが233MB→115MBになり、消費されているのがわかります。

 
 

では、次にviコマンドをquitした時

----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ------memory-usage-----
     time     |usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw | used  buff  cach  free
14-08 16:44:50|  0   1 100   0   0   0|   0     0 | 786B  462B|   0     0 |  72   117 | 858M    0  52.5M 82.7M
14-08 16:44:51|  0   0 100   0   0   0|   0     0 | 840B  462B|   0     0 |  70   109 | 858M    0  52.5M 82.6M
14-08 16:44:52|  1   0 100   0   0   0|   0     0 | 720B  462B|   0     0 |  75   126 | 858M    0  52.5M 82.6M
14-08 16:44:53|  0   0 100   0   0   0|   0     0 | 768B  462B|   0     0 |  75   119 | 858M    0  52.5M 82.6M
14-08 16:44:54|  1   1  97   1   0   0|5132k    0 |1314B 1444B|   0     0 | 270   211 | 736M    0  57.5M  199M
14-08 16:44:55|  0   0 100   0   0   0| 452k    0 | 540B  182B|   0     0 |  70   126 | 736M    0  57.9M  199M
14-08 16:44:56|  0   0 100   0   0   0|   0     0 | 726B  462B|   0     0 |  71   117 | 736M    0  57.9M  199M
14-08 16:44:57|  0   0 100   0   0   0|   0    60k| 480B  462B|   0     0 |  66   109 | 736M    0  57.9M  199M

メモリが開放されてfreeにあったメモリが82.6MB→199MBに増加しているのがわかります。

このように実際に検証してみるとガッツリとメモリが使用されているのがわかります。

 
 
 

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

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