我刚刚在 Dell T310 服务器上安装了 18.04,我注意到滚动文本时文本控制台的速度非常慢。
补充一些数字,dmesg
启动后立即通过 ssh 连接调用大约需要半秒钟才能显示所有输出,但在控制台上执行此操作需要大约 36 秒才能显示相同数量的输出。(速度减慢了 72 倍)
控制台在 GRUB 之后立即停止片刻,然后似乎将图形模式切换到更高分辨率。
过去有效的方法是强制vesafb
使用 GRUB(GRUB_CMDLINE_LINUX="video=vesafb:ywrap,mtrr:3"
在/etc/default/grub
),但在这里不起作用。
这肯定与帧缓冲区有关。在 中dmesg
,我看到以下内容:
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.15.0-72-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro video=vesafb:ywrap,mtrr:3
[ 0.212182] pci 0000:01:03.0: BAR 0: assigned to efifb
[ 1.115763] efifb: probing for efifb
[ 1.115776] efifb: framebuffer at 0xd9800000, using 1216k, total 1216k
[ 1.115779] efifb: mode is 640x480x32, linelength=2560, pages=1
[ 1.115782] efifb: scrolling: redraw
[ 1.115784] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[ 1.142136] fb0: EFI VGA frame buffer device
[ 4.121850] fb: switching to mgag200drmfb from EFI VGA
[ 4.208453] fbcon: mgadrmfb (fb0) is primary device
[ 4.726896] mgag200 0000:01:03.0: fb0: mgadrmfb frame buffer device
此时,我对可用的控制台比高分辨率(640x480 是完全可以接受的)更感兴趣。
我该如何加快速度?
编辑1:
设置有点帮助,模式现在降至 640x480,并且速度不是慢得无法使用(现在大约需要 15 秒才能滚动 dmesg),但它仍然nomodeset
在做一些我宁愿完全关闭并只使用文本模式控制台的花哨事情。GRUB_CMDLINE_LINX
/etc/default/grub
答案1
我刚刚在具有相同 GPU 的平台上安装了 Debian,也遇到了类似的“这到底是什么情况”的情况。我设法通过向内核添加以下内容来告诉内核使用 8 位屏幕模式,从而使这种情况稍微不那么可怕GRUB_CMDLINE_LINUX
:
video=1024x768-8
较低的分辨率甚至更快,但 1024x768 对我来说是最佳选择。这将时间从大约 35-40 秒缩短到大约 7-8 秒。
据我所知,这在 Ubuntu 上应该同样有效。我使用的是 4.19 内核,选项video=
没有发生太大变化。