几个月前,我在我的机器上的 Xen 上运行了 helloworld MirageOS 应用程序,没有任何问题,现在我想重新开始使用 Xen,但我遇到了一些问题。
很多事情都发生了变化:我运行的前一台机器(我无法再访问它)是一台戴尔笔记本电脑,配有集成(intel)和独立(amd)GPU,而现在我在 Thinkpad 上运行仅使用英特尔。我运行的是 Ubuntu 15.04,而现在运行的是 15.10(应该不会有太大变化,但也许不同的内核版本有问题)。现在我还为我的 / 文件系统运行 Btrfs(主要用于校验和)。
因此,在我本机安装的 Linux (Ubuntu) 上启动 dom0 后,一切看起来都很好,但一瞬间,登录后鼠标指针从 lightdm 和我的 unity/gnome 会话中消失。
另外,我看到我的活动监视器小部件的 CPU 使用率显然几乎达到了 100%,但查看顶部时,我只看到 Xorg 之类的东西使用了约 16%。
考虑到内存可能是一个问题,我尝试创建一个零编辑的 2GB 文件用作交换(我知道:我不能使用仅与 btrfs 一起使用的交换文件),并且我意识到它非常慢:20MB/s将其写入磁盘。重新启动到正常内核后,我尝试创建相同类型的文件,并且获得了大约 300MB/s 的带宽(正如我的 SSD 所预期的那样)。
xen 内核上的整个 gui 看起来很慢...alt-tab 和切换桌面有明显的延迟...我在想也许英特尔图形驱动程序是问题所在,但磁盘速度缓慢,并且明显增加了 cpu用法,让我觉得事情可能没那么简单。
我尝试做一些事情:安装/卸载 Virtualbox(以免加载 vboxdrv)、在 EFI 中启用/禁用 VT-x...但我没有看到任何改进。
这是 dmesg 输出当与 Xen 内核一起运行时。对我来说唯一真正不合适的两件事是:
ACPI Exception: AE_BAD_PARAMETER, Thread 79174528 could not acquire Mutex [0x1] (20150619/utmutex-285)
和
vgaarb: this pci device is not a vga device
对于前者,我尝试acpi=off
在启动选项中进行设置(但是 Xen 它没有使用通常的linux
命令,而是使用一个multiboot
命令......所以我可能将该选项放在了错误的位置)
在这两种情况下,我都尝试用谷歌搜索这个问题可能的已知原因,显然其他人也有类似的问题,但所有结果似乎都没有产生任何结果。同样的事情对于xen 维基百科。
下一步会是什么?如何确定具体问题?
谢谢
答案1
再次查看dmesg
输出后,这一行引起了我的注意:
pci 0000:00:14.0: can't find IRQ for PCI INT A; please try using pci=biosirq
(以及许多其他 IRQ 错误)
通过谷歌搜索,我发现这个线程
显然,事实证明,使用 Grub 多重启动来启动EFI系统没有得到很好的支持
我打开了这个问题对于 ubuntu 软件包,我现在将在另一台(虚拟?)机器上测试 xen。