我在 ESXi 6.5 上托管的虚拟机中安装了 Debian 9(“Stretch”),操作系统是最新的,除了 VMware 工具之外没有安装任何其他东西。
有时当我执行命令时,服务器会冻结,除了重置虚拟机之外什么也做不了(SSH 服务器变得无响应,所有终端都冻结,它不显示 KP 或其他任何内容)
我可以很容易地重现该问题:我只需要执行 wget 几次,操作系统就会挂起。
一开始我以为是内存问题。我在主机上使用了 memtest86+,没有发现任何问题。我还尝试了 debian 软件包“memtester”,它在虚拟机中运行良好,完全不会导致操作系统冻结。
/var/log/messages 没有显示任何特殊内容,但是有一行我不明白:
Jul 3 13:05:57 myhost kernel: [ 58.966715] TCP: ens192: Driver has suspect GRO implementation, TCP performance may be compromised.
可能存在什么问题以及我该如何调试整个问题?
配置:1 CPU / 4 核 - 32GB Ram - 64GB HDD
答案1
我遇到过这种情况。在 ESXi 6.5 下创建了一个 Debian 9 VM,运行几个命令时它会冻结。此外,当我关闭 SSH 会话时,它会完全冻结,我唯一的选择就是重新启动。
我通过将该主机的网络适配器类型从默认的“VMXNET 3”更改为“E1000e”来修复此问题。
答案2
如果它是虚拟机,并且您可以更改一些参数,请尝试设置另一种类型的网络适配器,因为它看起来与网络相关。
此外,dmesg
即使它运行正常,也要不时检查输出,因为它可能会显示其他问题。
答案3
这看起来相关。
无论如何,我们还在 VMware 下将延伸虚拟机作为客户机运行,uname -a
返回:
Linux sandbox1 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26)
x86_64 GNU/Linux
但sudo dmesg|grep ens192
它是空的......
答案4
我遇到了这个问题,并检查了设置。我发现 VMWare 15 Player 默认只为 VM 提供 512MB 的 RAM 和 1 个处理器。我将其增加到 4GB 和 2 个处理器,现在 VM 可以正常工作,不会出现死机的情况。