Отладка проблем с производительностью загрузки в grub / до начала ведения журнала ядра

Это будет конфигурация SSH miss на стороне сервера. Необходимо отредактировать файл sshd_config на стороне сервера. Он находится в /etc/ssh/sshd_config. В этом файле измените переменные

  • 'yes' на 'no' для ChallengeResponseAuthentication, PasswordAuthentication, UsePAM

  • 'no' на 'yes' для PubkeyAuthentication

Основано на http://kaotickreation.com/2008/05/21/disable-ssh-password-authentication-for-added-security/

0
28.02.2019, 16:47
2 ответа

Как вы, вероятно, можете себе представить, хендовер между GRUB и Linux включает несколько очень сложных -шагов низкого уровня, поэтому нет места для расширенной трассировки или регистрации. К счастью, это не должно быть проблемой, так как в этом коде также нет места для каких-либо расширенных задержек. Вы можете получить действительно подробную трассировку всех подготовительных шагов в GRUB, установив переменную окруженияdebug.

Однако более вероятно, что любые задержки, которые вы видите, происходят после передачи управления ядру Linux. Обычно вы не можете видеть сообщения журнала до инициализации консоли. Кроме того, как вы заметили, все временные метки равны нулю до тех пор, пока не будет инициализирована подсистема хронометража, поэтому позже невозможно определить время.

К счастью, вы можете использовать параметр загрузки earlyprintk, чтобы заставить ядро ​​куда-то печатать сообщения журнала, чтобы вы могли следить за ними в режиме реального времени и видеть, где происходит задержка. earlyprintkможно направить по разным адресам, но наиболее актуальными для обычных (физических )машин будут serial,vga(старая -школьная консоль )или efi. Убедитесь, что ваше ядро ​​собрано с соответствующими параметрами конфигурации (CONFIG_EARLY_PRINTK*).

5
28.01.2020, 02:30

Это, конечно, не полный ответ на мой собственный вопрос, но он может быть полезен другим, кто зайдет сюда, исследуя похожие проблемы.

В руководстве GRUB предлагается использовать переменную окружения debugлибо с debug=all, либо со списком имен объектов через запятую/пробел. Затем он говорит:

Consult source for more details.

Мне не удалось найти список потенциальных имен в Интернете. Поэтому для дальнейшего использования я взял список этих имен из текущего репозитория github coreos/grub, надеясь, что это может быть полезно для меня и других в будущем. Конечно, без дальнейшего изучения источника это имеет ограниченное применение, но все же может быть хорошей отправной точкой.

name                frequency in source
acpi                |||||
affs                |
ahci                ||
appleload           |
arcdisk             ||
archelp             ||
ata                 ||
atkeyb              ||
biosdisk            ||
bsd                 ||||
btrfs               ||
cache               ||
cbfs                |
chain               |||
crypt               ||
cryptodisk          ||
datetime            |
devalias            ||
disk                |||||
diskfilter          ||
dl                  ||||||||
dns                 ||
drivemap            ||
efi                 ||
efidisk             ||
efiemu              ||||||||||||||
ehci                ||
elf                 ||
exfat               |
expand              ||
fat                 |
fb                  ||
fdt                 |
fixvideo            ||
font                ||
fs                  ||
geli                ||
gpt                 ||||
hostdisk            |||||
init                |||||
jpeg                |
keystatus           ||
lexer               |
linux               |||||||||||||
loader              |||||||
luks                ||
memdisk             ||
mm                  ||
mmap                |||||
modules             ||
multiboot_loader    |||||
nativedisk          ||
net                 ||||||||||
ohci                ||
partition           ||||||
pata                ||
play                ||
reiserfs_tree       ||
relocator           |||
scripting           ||
scsi                ||
serial              ||
smbios              ||
syslinux            ||
tftp                ||
tga                 ||
ubootdisk           ||
uhci                ||
usb                 ||||||
usb_keyboard        ||
usbms               ||
video               |||||||
xen                 |||||||||
xen_loader          ||
xfs                 ||
xnu                 ||||||
zfs                 |||||

Например, вы можете написать

set debug=linux,video,fs

в ваш /boot/grub/grub.cfg, чтобы уменьшить количество отладочных сообщений GRUB и отображать отладочные сообщения только для этих средств

4
28.01.2020, 02:30

Теги

Похожие вопросы