我有以下固定设置:
Package: linux-image-amd64
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
$ sudo apt-get install linux-image-amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation: …Run Code Online (Sandbox Code Playgroud) 今天我们在两个相同的 kvm 和 qemu 主机(戴尔 R910)上遇到了一个非常奇怪的行为。每个主机系统都有 4 x 10 个内核,这意味着 40 个物理内核在操作系统(Ubuntu Linux 10.04 64 位,内核 3.0)中显示为 80。
我们在其中一个节点上启动了一个 Windows 2003 32 位 VM(1 个 CPU,1 GB RAM,我们多次更改了这些值),并注意到启动过程开始需要 15 分钟。在这 15 分钟内,会显示黑屏,但没有任何反应。libvirt 和主机系统显示,guest 虚拟机的 qemu-kvm 进程几乎处于空闲状态。stracing 这个过程只显示了一些 FUTEX 条目,但没有什么特别的。
15 分钟后,Windows VM 突然开始启动并出现 Windows 徽标。几秒钟后,VM 就可以使用了。VM 本身的性能非常好,所以这不是性能问题。
我们尝试使用 virsh 和 taskset 工具固定 CPU,但这只会让事情变得更糟。
当我们使用 Linux Live CD 启动 Windows VM 时,也会出现几分钟的黑屏,但不会长达 15 分钟。在此主机(Ubuntu 10.04)上启动另一个 VM 时,它也有黑屏问题,这里也是黑屏只显示 2-3 分钟(而不是 15 分钟)。
因此,总结一下:每个相同节点上的每个来宾在启动后几分钟都会空闲。几分钟后,启动过程突然开始。我们观察到空闲时间发生在客户机的 bios 初始化之后。
我们的一位员工想在 Grub(内核参数)中限制 CPU 数量,maxcpus=40(因为存在 40 个物理内核),突然“黑屏空闲”行为消失了。
搜索 …
我正在从 Xen 迁移到 Kvm。
在 Xen 中,我能够轻松地将主机 cpus 固定到来宾虚拟机,并将主机 cpus 固定到 "dom0"。
在 Kvm 中,我还可以轻松地将主机 cpus 固定到来宾 vms,但是,据我所知,没有什么能阻止在主机操作系统上运行的应用程序使用这些 cpus。我想防止在主机上运行的程序饿死/增加来宾延迟的情况。
我可以手动执行详细的 cgroup 策略,但也许我只是缺少 libvirt / centos7 中的设置?
此外,还有一个供客人使用的“emulatorpin”设置。我应该将“模拟器”固定到专用主机 cpu 上,还是应该将其限制为来宾 cpu?目标是尽可能地限制来宾的延迟。