15.2.4. 生成虚拟机内存转储
当虚拟机(VM)意外终止时,您可以使用 virtctl memory-dump 生成内存转储命令来输出虚拟机内存转储并将其保存到持久性卷声明(PVC)中。之后,您可以分析内存转储,以诊断并排除虚拟机上的问题。
流程
可选:您有一个要保存内存转储的现有 PVC。
-
PVC 卷模式必须是
FileSystem。 PVC 必须足够大以保存内存转储。
计算 PVC 大小的公式为
(VMMemorySize + 100Mi)*(1 + FileSystemOverhead),其中100Mi是内存转储开销,FileSystemOverhead在HCO对象中定义。
-
PVC 卷模式必须是
创建所需虚拟机的内存转储:
如果您选择了要保存内存转储的现有 PVC:
$ virtctl memory-dump get <vm_name> --claim-name=<pvc_name>如果要为内存转储创建新 PVC:
$ virtctl memory-dump get <vm_name> --claim-name=<new_pvc_name> --create-claim
下载内存转储:
$ virtctl memory-dump download <vm_name> --output=<output_file>将内存转储附加到红帽支持问题单中。
或者,您可以检查内存转储,例如使用 volatility3 工具。
可选:删除内存转储:
$ virtctl memory-dump remove <vm_name>