如何從 DomU 中更改記憶體資源?
對於某項工作,我有時需要在 DomU (CentOS 5) 中使用更多記憶體。作業開始的觸發器是一些我只能在該 DomU 中檢查的條件: DomU 正在等待上傳。完成後,它需要處理接收到的數據 - 最適合的是 ram-disk。
對於這種情況,我已將 DomU 設置為最小 1 GB 和最大 16 GB 的記憶體設置。
現在我正在嘗試找到一種優雅的方法來從 DomU 中將記憶體大小調整為最大/最小。
第一個解決方案是使用來自 DomU 的 ssh 到所有可能的 Dom0,然後在那裡觸發“xm mem-set”命令(使用 sudo)。
我讀過一些關於 xen-store 的東西。提到了觸發器……所以這讓我認為應該有更好的方法。事實證明,記憶體氣球會是一個更好的方法。
這應該在 DomU 中工作:
echo $((4096*1024*1024)) >/proc/xen/balloon
應將記憶體大小調整為 4 GB。
但是: cat /proc/xen/ballon 說:
Current allocation: 2165536 kB Requested target: 4192256 kB Low-mem balloon: 14611680 kB High-mem balloon: 0 kB Driver pages: 0 kB Xen hard limit: 2165536 kB
現在那個 xen 硬限制是從哪裡來的?
結果現在我的 DomU 有 2 GB RAM。Dom0 中的 xm 列表指出 DomU 仍為 1 GB RAM…
這裡出了什麼問題?是的 - 由於 DomU 版本低於 3.0.4,我將“mem=16G”作為核心引導參數添加到我的 DomU。
使用 Dom0 SLES11 SP1 (XEN 4.0.1) 和 CentOS 5.6 DomU (還是 XEN 3.0.3?)
echo 4G >/proc/xen/ballon
並沒有先做任何事情 - 但在我xm mem-sets
從 Dom0 (高達 16 GB - 有效) 上做了一些成功之後, / proc/xen/ballon也在 DomU 中工作。
您可以使用 xen 具有最小記憶體和最大記憶體的氣球驅動程序……它都是動態的並且是內置的