我有一个qemu虚拟机崩溃了几次,因为管理程序中的 HDD 没有剩余空间。这让我想知道是否有可能为quemu虚拟机设置日志记录/调试。我尝试使用以下-D /tmp/qemu-debug-log命令启动虚拟机:
qemu-system-i386 -D /tmp/qemu-debug-log -monitor pty -device e1000,netdev=tap0 -netdev tap,id=tap0 -m 512M -display vnc=:1 -drive file=FreeBSD10.2
Run Code Online (Sandbox Code Playgroud)
..但这甚至没有创建/tmp/qemu-debug-log文件。
此外,qemu似乎没有写入messages或内核环形缓冲区( dmesg)。为qemu虚拟机启用日志记录的最佳做法是什么?
Dmi*_*yev 16
qemu命令接受一个-D可以创建日志文件的简单开关。例如,包括-D ./log.txt将在您的工作目录中创建“log.txt”。
您可以通过QEMU Monitor(例如qemu -monitor stdio)访问更多日志记录/调试选项 。
-d <component>如果在启动 QEMU 时使用该参数,它将启用该组件的调试。如果您有 QEMU 源代码并且想要查看给定组件的详细调试,这非常有用。
例如,传递-d cpu_reset将启用 CPU_LOG_RESET 调试,这将“在 CPU 重置之前显示 CPU 状态”。有关日志记录选项的完整列表,请参阅qemu/util/log.c 。
默认情况下,日志写入到/tmp/qemu.log,但您可以使用参数指定不同的日志文件-D <logfile>。
QEMU 提供的任何日志记录选项对于您的需要来说都太低级了:您的问题不是虚拟硬件行为不当,而是虚拟机内的软件需要关注。
在这方面,虚拟机与真实机器没有什么不同,并且解决方案是相同的。您的问题表明虚拟机正在运行 FreeBSD,因此您应该检查使用rsyslog通过网络连接将日志推送到外部系统日志服务器(可能是您的主机)。
(我对 BSD 不太熟悉,所以我不能 100% 确定这rsyslog是正确的或唯一的解决方案,但该关键字应该可以帮助您入门。)
| 归档时间: |
|
| 查看次数: |
46141 次 |
| 最近记录: |