gpt4 book ai didi

linux - 在微不足道的 `sleep 1` 的情况下,是什么导致 QEMU 的开销?

转载 作者:行者123 更新时间:2023-12-05 05:53:33 29 4
gpt4 key购买 nike

实验:

我在主机和 QEMU guest 中的 strace -tt(报告所有系统调用的时间戳)下运行了 sleep 1,并注意到到达某个系统调用所需的时间(clock_nanosleep) 在客人的情况下几乎是两倍:

  • 1.813 ms 在主机上 vs
  • 3.396 毫秒在 guest 中。

这里是 full host strace -tt sleep 1这是full QEMU strace -tt sleep 1 .

以下是您已经可以看出差异的摘录:

主持人:

Time    diff      timestamp (as reported by strace)
0.000 / 0.653 ms: 13:13:56.452820 execve("/usr/bin/sleep", ["sleep", "1"], 0x7ffded01ecb0 /* 53 vars */) = 0
0.653 / 0.023 ms: 13:13:56.453473 brk(NULL) = 0x5617efdea000
0.676 / 0.063 ms: 13:13:56.453496 arch_prctl(0x3001 /* ARCH_??? */, 0x7fffeb7041b0) = -1 EINVAL (Invalid argument)

QEMU:

Time    diff      timestamp (as reported by strace)
0.000 / 1.008 ms: 12:12:03.164063 execve("/usr/bin/sleep", ["sleep", "1"], 0x7ffd0bd93e50 /* 13 vars */) = 0
1.008 / 0.119 ms: 12:12:03.165071 brk(NULL) = 0x55b78c484000
1.127 / 0.102 ms: 12:12:03.165190 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffcb5dfd850) = -1 EINVAL (Invalid argument)

问题:

  • 是什么导致了减速和开销?它不使用任何硬件(如 GPU、磁盘等),因此没有转换层。我还尝试多次运行该命令以确保可以缓存的所有内容都缓存在 guest 中。
  • 有没有办法加快速度?

更新:

  • 使用 cpupower frequency-set --governor performance 时序是:
    • 主机:0.922ms
    • 访客:1.412 毫秒
  • 图像在 /dev/shm (-drive file=/dev/shm/root):
    • 主机:0.922ms
    • 访客:1.280 毫秒

附言

我修改了 strace 的“裸”输出,以便它包括 (1) 从 0 开始的第一个系统调用的时间,然后是 (2) 系统调用的持续时间,以便于理解。为了完整起见,脚本是 here .

我是这样启动qemu的:

qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m 4G -nodefaults -no-user-config -nographic -no-reboot \
-kernel $HOME/devel/vmlinuz-5.13.0-20-generic \
-append 'earlyprintk=hvc0 console=hvc0 root=/dev/sda rw' \
-drive file=$HOME/devel/images/root,if=ide,index=0,media=disk,format=raw \
-device virtio-serial,id=virtio-serial0 -chardev stdio,mux=on,id=host-io,signal=off -device virtconsole,chardev=host-io,id=console0

最佳答案

事实证明,我的(定制内核)缺少 CONFIG_HYPERVISOR_GUEST=y 选项(以及几个嵌套选项)。

关于linux - 在微不足道的 `sleep 1` 的情况下,是什么导致 QEMU 的开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69864854/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com