initrd.img (личинка, “Загружающая начальный электронный диск …”) замедление моей начальной загрузки?

Я нахожусь на SSD, где фрагментация файла не должна иметь значения так очень так или иначе, но я заметил, что "загружающийся начальный электронный диск..." сообщение в личинке занимает больше времени, что я думаю, что это должно. Это длится приблизительно за 7 секунд до Плимутских выполнений. Сам Плимут только занимает приблизительно 3 секунды (было бы хорошо, если бы это запустилось раньше и продлилось дольше хотя). Затем lightdm / экран зазывалы подходит по 2 - 3 секунды.

Таким образом, я сделал немного экспериментирования и работал filefrag -v /boot/init* и замеченный мое ядро 4.4.0-53 кажется чрезмерно фрагментированным:

File size of /boot/initrd.img-4.4.0-53-generic is 49027703 (11970 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..       3:    4351562..   4351565:      4:            
   1:        4..    4095:    2334720..   2338811:   4092:    4351566:
   2:     4096..    8191:    2330624..   2334719:   4096:    2338812:
   3:     8192..   10239:    2355200..   2357247:   2048:    2334720:
   4:    10240..   11969:    2408448..   2410177:   1730:    2357248: last,eof

Мне любопытно как фрагментированный initrd.img повлияет на загружающуюся производительность. Действительно ли это стоит дефрагментации?

Конечно, я всегда открыт для предложений для того, чтобы сделать initrd.img меньший и быстрее также.

Примечание: Помимо mSata SSD и полноразмерного SSD мой ноутбук имеет полноразмерный жесткий диск, который содержит Ubuntu 14.04, таким образом, я интересуюсь дефрагментацией initrd.img в целом, не только для SSD. Текущая сессия начальной загрузки от mSata SSD хотя, который ограничен SATA II скоростей в отличие от полноразмерных дисков, которые находятся на SATA III шин.

РЕДАКТИРОВАНИЕ 1: - systemd Диаграмма начальной загрузки

Согласно комментариям ниже я включал systemd-bootchart, который сгенерирован путем изменения параметров ядра личинки с:

GRUB_CMDLINE_LINUX_DEFAULT="splash vt.handoff=7 kaslr init=/lib/systemd/systemd-bootchart"

Диаграмма начальной загрузки сохраняется к: /run/log/bootchart-20161224-1801.svg. Я должен был использовать gimp открыть и экспортировать его в .jpg формат в 75%-м качестве, чтобы заставить его вписаться Спрашивает предел Ubuntu на 2,1 МБ. Экспортируемый файл показывают ниже:

systemd bootchart

Заметьте 9-секундную задержку в начале. "Нормальная" задержка 7 секунд для "Загрузки начального электронного диска..." сообщение в личинке является теперь приблизительно 10 секундами. Дополнительное время, вероятно, относящееся к systemd-bootchart наверху.

РЕДАКТИРОВАНИЕ 2: RAM и cgroups

Согласно комментариям (запросы) ниже RAM и cgroups от /var/log/syslog включены в это редактирование.

Вывод от free -m:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7843        3167         820        1574        3854        2740
Swap:          7999           4        7995

Обратите внимание, что ПОДКАЧКА только используется для тестирования OOM Killer и может быть стерт. Действительно технически это не должно быть на SSD во-первых.

Вывод от grep cgroup < /var/log/syslog.1:

$ grep cgroup < /var/log/syslog.1
Dec 24 15:22:50 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 15:22:50 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 15:22:50 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 15:22:50 dell kernel: [    0.011642] Initializing cgroup subsys io
Dec 24 15:22:50 dell kernel: [    0.011645] Initializing cgroup subsys memory
Dec 24 15:22:50 dell kernel: [    0.011651] Initializing cgroup subsys devices
Dec 24 15:22:50 dell kernel: [    0.011653] Initializing cgroup subsys freezer
Dec 24 15:22:50 dell kernel: [    0.011655] Initializing cgroup subsys net_cls
Dec 24 15:22:50 dell kernel: [    0.011657] Initializing cgroup subsys perf_event
Dec 24 15:22:50 dell kernel: [    0.011659] Initializing cgroup subsys net_prio
Dec 24 15:22:50 dell kernel: [    0.011662] Initializing cgroup subsys hugetlb
Dec 24 15:22:50 dell kernel: [    0.011664] Initializing cgroup subsys pids
Dec 24 15:22:50 dell kernel: [    6.204710] cgroup: new mount options do not match the existing superblock, will be ignored
Dec 24 15:23:33 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 15:23:33 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 15:23:33 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 15:23:33 dell kernel: [    0.010846] Initializing cgroup subsys io
Dec 24 15:23:33 dell kernel: [    0.010849] Initializing cgroup subsys memory
Dec 24 15:23:33 dell kernel: [    0.010855] Initializing cgroup subsys devices
Dec 24 15:23:33 dell kernel: [    0.010857] Initializing cgroup subsys freezer
Dec 24 15:23:33 dell kernel: [    0.010860] Initializing cgroup subsys net_cls
Dec 24 15:23:33 dell kernel: [    0.010861] Initializing cgroup subsys perf_event
Dec 24 15:23:33 dell kernel: [    0.010864] Initializing cgroup subsys net_prio
Dec 24 15:23:33 dell kernel: [    0.010867] Initializing cgroup subsys hugetlb
Dec 24 15:23:33 dell kernel: [    0.010868] Initializing cgroup subsys pids
Dec 24 15:23:33 dell kernel: [    7.338815] cgroup: new mount options do not match the existing superblock, will be ignored
Dec 24 15:45:25 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 15:45:25 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 15:45:25 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 15:45:25 dell kernel: [    0.010844] Initializing cgroup subsys io
Dec 24 15:45:25 dell kernel: [    0.010847] Initializing cgroup subsys memory
Dec 24 15:45:25 dell kernel: [    0.010853] Initializing cgroup subsys devices
Dec 24 15:45:25 dell kernel: [    0.010855] Initializing cgroup subsys freezer
Dec 24 15:45:25 dell kernel: [    0.010857] Initializing cgroup subsys net_cls
Dec 24 15:45:25 dell kernel: [    0.010859] Initializing cgroup subsys perf_event
Dec 24 15:45:25 dell kernel: [    0.010861] Initializing cgroup subsys net_prio
Dec 24 15:45:25 dell kernel: [    0.010864] Initializing cgroup subsys hugetlb
Dec 24 15:45:25 dell kernel: [    0.010866] Initializing cgroup subsys pids
Dec 24 15:45:25 dell kernel: [    5.977461] cgroup: new mount options do not match the existing superblock, will be ignored
Dec 24 16:09:31 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 16:09:31 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 16:09:31 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 16:09:31 dell kernel: [    0.010848] Initializing cgroup subsys io
Dec 24 16:09:31 dell kernel: [    0.010852] Initializing cgroup subsys memory
Dec 24 16:09:31 dell kernel: [    0.010858] Initializing cgroup subsys devices
Dec 24 16:09:31 dell kernel: [    0.010860] Initializing cgroup subsys freezer
Dec 24 16:09:31 dell kernel: [    0.010862] Initializing cgroup subsys net_cls
Dec 24 16:09:31 dell kernel: [    0.010864] Initializing cgroup subsys perf_event
Dec 24 16:09:31 dell kernel: [    0.010866] Initializing cgroup subsys net_prio
Dec 24 16:09:31 dell kernel: [    0.010870] Initializing cgroup subsys hugetlb
Dec 24 16:09:31 dell kernel: [    0.010871] Initializing cgroup subsys pids
Dec 24 16:09:31 dell kernel: [    6.663158] cgroup: new mount options do not match the existing superblock, will be ignored
Dec 24 18:00:44 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 18:00:44 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 18:00:44 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 18:00:44 dell kernel: [    0.011644] Initializing cgroup subsys io
Dec 24 18:00:44 dell kernel: [    0.011647] Initializing cgroup subsys memory
Dec 24 18:00:44 dell kernel: [    0.011654] Initializing cgroup subsys devices
Dec 24 18:00:44 dell kernel: [    0.011656] Initializing cgroup subsys freezer
Dec 24 18:00:44 dell kernel: [    0.011658] Initializing cgroup subsys net_cls
Dec 24 18:00:44 dell kernel: [    0.011660] Initializing cgroup subsys perf_event
Dec 24 18:00:44 dell kernel: [    0.011662] Initializing cgroup subsys net_prio
Dec 24 18:00:44 dell kernel: [    0.011665] Initializing cgroup subsys hugetlb
Dec 24 18:00:44 dell kernel: [    0.011667] Initializing cgroup subsys pids
Dec 24 18:00:44 dell kernel: [    6.388658] cgroup: new mount options do not match the existing superblock, will be ignored
Dec 24 18:01:33 dell kernel: [    0.000000] Initializing cgroup subsys cpuset
Dec 24 18:01:33 dell kernel: [    0.000000] Initializing cgroup subsys cpu
Dec 24 18:01:33 dell kernel: [    0.000000] Initializing cgroup subsys cpuacct
Dec 24 18:01:33 dell kernel: [    0.010850] Initializing cgroup subsys io
Dec 24 18:01:33 dell kernel: [    0.010854] Initializing cgroup subsys memory
Dec 24 18:01:33 dell kernel: [    0.010860] Initializing cgroup subsys devices
Dec 24 18:01:33 dell kernel: [    0.010862] Initializing cgroup subsys freezer
Dec 24 18:01:33 dell kernel: [    0.010864] Initializing cgroup subsys net_cls
Dec 24 18:01:33 dell kernel: [    0.010866] Initializing cgroup subsys perf_event
Dec 24 18:01:33 dell kernel: [    0.010868] Initializing cgroup subsys net_prio
Dec 24 18:01:33 dell kernel: [    0.010871] Initializing cgroup subsys hugetlb
Dec 24 18:01:33 dell kernel: [    0.010873] Initializing cgroup subsys pids
Dec 24 18:01:34 dell kernel: [   12.036550] cgroup: new mount options do not match the existing superblock, will be ignored

Обратите внимание, что этот журнал содержит несколько начальных загрузок.

Редактирование 3 - улучшенная Скорость.

После реализации Вопросов и ответов отвечают, что я записал (Как я могу настроить пароль для команды 'комнаты'?), где пароль сценария обертки защищает rm команда, скорость начальной загрузки удвоилась.

Вот новый график:

bootchart dec 30

2
задан 13 April 2017 в 15:23

1 ответ

Я не думаю, что дефрагментация является Вашей проблемой, но Вы могли сделать это...

В terminal...

  • тип man update-initramfs # для получения дополнительной информации об этой команде.

  • затем тип sudo update-initramfs -c # для создания нового файла с нуля.

  • затем тип reboot

1
ответ дан 2 December 2019 в 04:51

Другие вопросы по тегам:

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