Xen dom0 報告設置了 dom0_mem 的 RAM 數量不正確
我已經對此進行了相當多的搜尋,但沒有找到任何可以回答我的問題的東西。
我有一個具有 6GB RAM 的系統,用作 Xen 伺服器。作為參考,它執行 Ubuntu 12.04。我在 /etc/default/grub 中設置了核心參數 dom0_mem:512M,max:512M 如下:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=min:512M,max:512M"
我已經嘗試過這種變化,但結果相同。
我的問題是這樣的:
通過上述設置,dom0 在所有應用程序中報告的 RAM 量為 422M。
cat /proc/meminfo 給出以下內容:
$ cat /proc/meminfo MemTotal: 432472 kB MemFree: 54144 kB Buffers: 17640 kB Cached: 220104 kB SwapCached: 30172 kB Active: 136500 kB Inactive: 167780 kB Active(anon): 6156 kB Inactive(anon): 60516 kB Active(file): 130344 kB Inactive(file): 107264 kB Unevictable: 52 kB Mlocked: 52 kB SwapTotal: 1794044 kB SwapFree: 1682012 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 39572 kB Mapped: 8048 kB Shmem: 136 kB Slab: 44324 kB SReclaimable: 22012 kB SUnreclaim: 22312 kB KernelStack: 1280 kB PageTables: 3840 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2010280 kB Committed_AS: 329192 kB VmallocTotal: 34359738367 kB VmallocUsed: 313988 kB VmallocChunk: 34359417340 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 524696 kB DirectMap2M: 0 kB
top、htop、free -m 和 byobu 的 RAM 監視器都報告相同的數量。
起初我以為這是因為板載顯卡借用了一些記憶體,但現在已經切換到專用 GPU 並且它仍然存在。
這是正常行為,還是出了什麼問題?只有大約 100MB 的 RAM “消失”了,我不知道它去了哪裡。我了解並非所有RAM 都可用於分配是正常的,但是系統是否真的佔用了相對於可用 RAM 量相對較高的量?
編輯 我剛剛注意到xl list確實將 dom0 報告為具有 511M 的 RAM,因此看來記憶體分配正確,而區別只是系統保留的記憶體。
這是很正常的事情。Dom0 的預設記憶體分配由公式控制,該公式大約等於 502+0.0205*物理記憶體(MB)(在 xen 的情況下)。
對 Dom0 的記憶體分配也可以從 grub 完成,如範例中所示。在所有情況下,您都會看到系統 (xen) 消耗的大約 100 MB 記憶體“失去”。
如果您可以訪問 dmesg 命令輸出,您可以看到 100 MB 記憶體如何被保留並變得不可用的詳細資訊。請檢查前 100/150 行以查看記憶體保留/分配的詳細資訊。例如,我的 Dom0 上的一行 pf dmesg 總結如下:-
記憶體:899140k/1010076k 可用(5201k 核心程式碼,476k 不存在,110460k 保留,4718k 數據,1592k 初始化)。