KVMで仮想な環境を作ってる最中、ざんす。で、環境を幾つか立ち上げている間のメモリってどうなってんだろうかっていう疑問。
休みのうちに20個のゲストOSを作るぞーっと意気込んでたんだけど、今やっと14個作ったとこ。
Id Name State ---------------------------------------------------- 1 t1001 running 2 t1002 running 3 t1003 running 4 t1004 running 5 t1005 running 6 t1006 running 7 t1007 running 8 t1008 running 9 t1009 running 10 t1010 running 11 t1011 running 12 t1012 running 13 t1013 running 14 t1014 running
だがとあることを考えてから、ここからさらに増やすかどうか迷ってきた。
何かというとメモリーについてだにゃ。
FreeでみるとSwapつかいまくりーのたらんてぃーのなんです。そりゃあホストのPCに乗ってるメモリーは4Gで、仮想サーバーの方は1G使うVMを13.5個(1個目は間違えて512MBにしちゃった)も作ってるんだから、普通に考えたらそうなるのは当たり前だのな。
なにかしようものならガリガリ・・・ガリガリ・・・とHDDを読む、読む、読むノーグルト。
うーむ。
だがしかし、VMの起動直後はパツパツでも物理メモリ内に収まっているってのも不思議だ。
まったくさっぱりこってり分からない。
どうしたもんだろう。
積んでるメモリからいくと、なにかしら遊ぶならVMは2個か3個くらいに抑えておいて検証するのがいいんだろう、もしももっと作っても大丈夫としても、HDDをガリガリしすぎて検証にならないような。万が一なったとしても処理が重すぎてこっちのストレスがマックスハートである。
でも前はホストサーバーまで仮想環境な環境でVMは5個くらい作って試していたんだけど、なぜかその時ってそれほどガリガリしてなかったような気もするんだな。ただそんな気のせいなだけで、428&街現象が起こっていて、昔は良かったねって感じているだけかもしれない。またもや謎というものにまみれてしまった。
とりあえずゲストOSを起動していったときのメモリの状況はこんな感じ。だいたい12個目からもうSwapしてる。
起動したVMの数ごとのFreeの変化 1台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 558560 3415024 0 23132 245772 -/+ buffers/cache: 289656 3683928 Swap: 8207356 0 8207356 2台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 699132 3274452 0 23204 284064 -/+ buffers/cache: 391864 3581720 Swap: 8207356 0 8207356 3台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 844184 3129400 0 23340 319784 -/+ buffers/cache: 501060 3472524 Swap: 8207356 0 8207356 4台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 989568 2984016 0 23436 355712 -/+ buffers/cache: 610420 3363164 Swap: 8207356 0 8207356 5台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 1133636 2839948 0 23516 392232 -/+ buffers/cache: 717888 3255696 Swap: 8207356 0 8207356 6台目 freebsd takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 1283880 2689704 0 23680 431096 -/+ buffers/cache: 829104 3144480 Swap: 8207356 0 8207356 7台目 centos takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 1786036 2187548 0 23760 604576 -/+ buffers/cache: 1157700 2815884 Swap: 8207356 0 8207356 8台目 centos takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 2164680 1808904 0 23816 698112 -/+ buffers/cache: 1442752 2530832 Swap: 8207356 0 8207356 9台目 centos takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 2660504 1313080 0 23892 871508 -/+ buffers/cache: 1765104 2208480 Swap: 8207356 0 8207356 10台目 centos takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 3152232 821352 0 24104 1039008 -/+ buffers/cache: 2089120 1884464 Swap: 8207356 0 8207356 11台目 Ubuntu13 takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 3821312 152272 0 15024 1293724 -/+ buffers/cache: 2512564 1461020 Swap: 8207356 0 8207356 12台目 Ubuntu12 takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 3823004 150580 0 5788 981984 -/+ buffers/cache: 2835232 1138352 Swap: 8207356 84 8207272 13台目 Scientfic takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 3840088 133496 0 2516 678828 -/+ buffers/cache: 3158744 814840 Swap: 8207356 84 8207272 14台目 Scientfic takeken@takeken:~$ free total used free shared buffers cached Mem: 3973584 3840392 133192 0 620 398812 -/+ buffers/cache: 3440960 532624 Swap: 8207356 84 8207272
そしてVM側はこんな感じだ。もちろん起動後のすぐの状態。
VMじたいのメモリの状況 14台目のVM [root@t1014 ~]# free total used free shared buffers cached Mem: 1020596 124868 895728 0 5508 37444 -/+ buffers/cache: 81916 938680 Swap: 2064376 0 2064376 2台目のVM root@t1002:~ # vmstat memory procs memory page faults cpu r b w avm fre flt re pi po fr sr in sy cs us sy id 1 0 0 203M 934M 39 0 0 0 38 0 1 48 221 0 0 100 root@t1002:~ # swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b 803192 0 803192 0%
うーん。どうしたもんだろうなあ。
KVMにまだ知らないなにかの機能があるのだろうか。
とりあえず今日はこの辺で終わろうかな。