web-dev-qa-db-ja.com

xenvmメモリがありません

320GBのメモリを搭載したUbuntuサーバーがあります。このマシンにxen4.4.1をインストールし、2つのDebianVMを実行しました。 1つは+ -100GBのメモリを搭載し、もう1つは+ -200GBを搭載しています。ある時点で、200GBのマシンが128GBしかないことを報告するまで、すべてが正常に機能しました。サーバーの稼働時間は144日で、先月のどこかで70GBを超えるメモリが失われました。

dom0で:

$ Sudo xl info
...
total_memory           : 327634
free_memory            : 16547
...

$ Sudo xl list
Name                               ID   Mem  VCPUs      State   Time(s)
Domain-0                            0    510    32     r-----      54.4
mycroft                             1 102400    16     -b----      33.3
adler                               2 204000    16     -b----      34.5

$ uname -a
Linux moriarty 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

VM xlリストによると204000MB):

$ free -m
             total       used       free     shared    buffers     cached
Mem:        128404       6220     122184          0         10         56
-/+ buffers/cache:       6152     122251
Swap:            0          0          0

$ uname -a
Linux adler 3.2.0-4-AMD64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux

$ cat /proc/meminfo
MemTotal:       131486352 kB
MemFree:        125117048 kB
Buffers:           11216 kB
Cached:            58016 kB
SwapCached:            0 kB
Active:          6057868 kB
Inactive:          47632 kB
Active(anon):    6036284 kB
Inactive(anon):      324 kB
Active(file):      21584 kB
Inactive(file):    47308 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                12 kB
Writeback:             0 kB
AnonPages:       6036296 kB
Mapped:            14740 kB
Shmem:               344 kB
Slab:              20024 kB
SReclaimable:       6504 kB
SUnreclaim:        13520 kB
KernelStack:        2728 kB
PageTables:        14824 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    65743176 kB
Committed_AS:   91568356 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      214612 kB
VmallocChunk:   34359523687 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:    208896000 kB
DirectMap2M:           0 kB

私はすでに両方のサーバーを再起動しましたが、結果はありませんでした。dom0は204gBを報告し続け、マシン自体は128gBを報告します。違いの原因は何ですか?どうすれば修正できますか?

[〜#〜]編集[〜#〜]

Dmesgの出力は私にこれを与えます

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 0000002000000000 (usable)
[    0.000000]  Xen: 0000002000000000 - 00000031ce000000 (unusable)

最後の行の範囲は、不足しているメモリに対応しているようです。

2
bmesuere

私はdebianwheezy7.8ゲストでも同じ問題を抱えていました。 wheezyバックポートカーネル3.16.0-0.bpo.4-AMD64をインストールすると、問題が解決しました。これはゲストにありました、私はホストに触れませんでした。

次の行を/etc/apt/sources.listに追加します。

deb http://ftp.uk.debian.org/debian/ wheezy-backports main

次に実行します

apt-get update
apt-get -t wheezy-backports install linux-image-AMD64
reboot
2
Matt

記憶が膨らんでいましたか?その場合、「欠落している」メモリは、バルーンドライバによって回収されたメモリである必要があります。

出力を投稿できますかcat /proc/meminfo「不足している」メモリのあるマシンで?

[〜#〜]編集[〜#〜]

/ proc/meminfoの出力から、バルーンは実際に機能しているようです。

「DirectMap4k」の値を見てください。約200GBのRAMが4kの粒度でMMUによって管理されていると報告されています。つまり、仮想化されていますハードウェアは200GBのRAM全体を参照してください。

ただし、「MemTotal」の値は、使用可能なメモリの合計が「わずか」135GBであることを明確に示しています。

これは、カーネル/ドライバレベルの何かが他の用途のためにメモリを「盗んだ」ことを意味します。このような大量の空きメモリは、バルーニングの完璧なターゲットです。 詳細はこちらをご覧ください。

0
shodanshok