我怎样才能在linux上find大量的物理内存。
背景:我想确定所有kvm机器的总和,不要使用比可用的更多的RAM。
我可以find这样的kiB总和:
for dom in $(virsh list --all --name); do virsh dumpxml $dom | sed -nre 's/^.*>([0-9]*)<.currentMemory.*$/\1/p' ; done| awk '{s+=$1} END {print s}'
但是/ proc / meminfo的值在kB中不是kiB ….
Virsh拥有每个域的dommemstat ,并且更容易被过滤掉。
for meminfo in $(virsh list | awk 'NR > 1 {print $2}'); do virsh dommemstat "$meminfo" done | awk '/actual/{s+=$2}END{print s}'
完成之后,您可以使用以下命令获取节点的总内存:
virsh nodememstats | awk -F: '/total/{print +$2}'
比较两个值并采取所需的操作,