LINUX.ORG.RU
ФорумTalks

За сколько может грузиться самый быстрый линукс?

 


0

1

Если он запускается в виртуалке. Загрузчика вообще нет, сразу ядро и initrd подаётся на вход. Скомпилировать ядро без всего кроме того что надо для виртуалки. Как-то юзерспейс максимально быстро стартануть. Systemd самый быстрый?

У меня сейчас в виртуалке федора с UEFI за несколько секунд грузится. Мне интересно, можно ли это ускорить. Чего она там делает эти несколько секунд - не понятно. dmesg если кому интересно.

★★★★

У меня машина очень быстро грузится. От кнопки питания до экрана GDM примерно 1 секунда. Я пароль дольше ввожу, чем она грузится. Поэтому вообще не вижу смысла в ещё большем ускорении. Хотя наверное это не предел.

hibou ★★★★★
()

Экономия на спичках кмк. Для доцкеров Alpine есть, по умолчанию без баша даже.

С железным компом или сервером затея вовсе лишена смысла. POST и всякие инициализации плат с гарантией в разы больше пользы от подобных оптимизации.

yu-boot ★★★★★
()

Artix с linux-hardened и dinit на четырехпоточном i5 грузился за 10с.

The_Coon
()

Полноценная gentoo со всем нужным в ядре с openrc в параллельном режиме на обычном hdd от кнопки включения до окна логина sddm - 7-8 секунд. Это с сетью и всей подноготной. Ничего специально не ускорял. После ввода пароля загрузка всех приложении сохранённой сессии ещё где-то полминуты(хром дольше всего). Смысл эти секунды считать, ты по сто раз на день бутаешься?

shell-script ★★★★★
()
Ответ на: комментарий от yu-boot

На серверах в десятки раз. Там проверок железных всяких сильно больше.

shell-script ★★★★★
()

читал, что в Clear Linux есть патчи от intel, с которыми linux загружается 0,2 секунды.
P.S. лучше без initrd

teod0r ★★★★★
()

Юзерспейс обычно грузит сессию юзера и тратит на это гораздо больше времени, чем загрузка.

Irma ★★
()
Ответ на: комментарий от shell-script

от кнопки включения до окна логина sddm - 7-8 секунд

А сколько у вас инициализируется материнская плата? Я поверил бы в эти секунды, если бы они от меню груба отсчитывались.

У меня от меню груба до рабочего стола kde 9 секунд, но это nvme, не hdd.

Раньше когда был hdd, самая быстрая загрузка была 14 сек. Это году в 13-14. Потом обросло жиром и с hdd грузился более 30 сек.

Chord ★★★★
()
Ответ на: комментарий от Zadoff386

Там по-моему еще задержка монитора пара сотен Милошевичей миллисекунд.

chenbr0
()
Ответ на: комментарий от hibou

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

slyjoeh ★★★
()
Ответ на: комментарий от slyjoeh

Воще ничего не делал. Комп от dell, стандартная ubuntu. UEFI и все такое. Диск nvme.

Может конечно не 1 секунду. Но точно меньше 5-ти.

hibou ★★★★★
()
Последнее исправление: hibou (всего исправлений: 1)

За сколько может грузиться самый быстрый линукс?

Формула теоретического предела:

Время загрузки=Размер/Скорость ввода-вывода )

PS Пахнет велосипедами

kindof
()
Ответ на: комментарий от Zhbert

Ну во-первых это красиво (с)

А так думалось сделать тулзу вроде wsl, когда набираешь команду и линукс тут же загружается и выполняет её. Но 5 секунд ждать загрузки это бесит, нужно, чтобы хотя бы в пределах секунды работало.

vbr ★★★★
() автор топика

9.8 секунд на секундомере до загрузки windows 11, многовато

One ★★★★★
()

Чего она там делает эти несколько секунд - не понятно

Могу поспорить, что шлакd через свои udev или какой-то другой велосипед - пытается проинициализировать твой рутовый раздел.

Покажи-ка systemd-analyze и systemd-analyze blame

windows10 ★★★★★
()
Ответ на: комментарий от kindof

Время загрузки=Размер/Скорость ввода-вывода

нЭд. Забыл о проверках. Ну например fsck куда дел ?

windows10 ★★★★★
()
Ответ на: комментарий от windows10
Startup finished in 506ms (kernel) + 1.177s (initrd) + 3.558s (userspace) = 5.241s 
multi-user.target reached after 3.436s in userspace.
1.648s dev-disk-by\x2dpath-virtio\x2dpci\x2d0000:00:05.0\x2dpart2.device
1.648s dev-disk-by\x2dpath-pci\x2d0000:00:05.0\x2dpart2.device
1.648s dev-disk-by\x2duuid-5e47f7d1\x2d89ef\x2d4d93\x2db47d\x2d7d1d17bd511c.device
1.648s dev-disk-by\x2dpartuuid-5c59a843\x2d5dc8\x2d4560\x2d9600\x2dd3bc4bea6a26.device
1.648s dev-vda2.device
1.648s sys-devices-pci0000:00-0000:00:05.0-virtio1-block-vda-vda2.device
1.648s dev-disk-by\x2did-virtio\x2dvirtuallinuxstorage\x2dpart2.device
1.642s sys-module-configfs.device
1.626s sys-devices-platform-serial8250-tty-ttyS16.device
1.626s dev-ttyS16.device
1.626s dev-ttyS15.device
1.626s sys-devices-platform-serial8250-tty-ttyS15.device
1.623s dev-ttyS20.device
1.623s sys-devices-platform-serial8250-tty-ttyS20.device
1.623s sys-devices-platform-serial8250-tty-ttyS19.device
1.623s dev-ttyS19.device
1.622s sys-devices-platform-serial8250-tty-ttyS21.device
1.622s dev-ttyS21.device
1.622s sys-devices-platform-serial8250-tty-ttyS23.device
1.622s dev-ttyS23.device
1.621s sys-devices-platform-serial8250-tty-ttyS18.device
1.621s dev-ttyS18.device
1.620s dev-ttyS22.device
1.620s sys-devices-platform-serial8250-tty-ttyS22.device
1.619s sys-devices-platform-serial8250-tty-ttyS11.device
1.619s dev-ttyS11.device
1.619s sys-devices-platform-serial8250-tty-ttyS14.device
1.619s dev-ttyS14.device
1.616s sys-devices-platform-serial8250-tty-ttyS2.device
1.616s dev-ttyS2.device
1.615s sys-devices-platform-serial8250-tty-ttyS13.device
1.615s dev-ttyS13.device
1.613s dev-ttyS12.device
1.613s sys-devices-platform-serial8250-tty-ttyS12.device
1.612s sys-devices-platform-serial8250-tty-ttyS9.device
1.612s dev-ttyS9.device
1.611s sys-devices-platform-serial8250-tty-ttyS28.device
1.611s dev-ttyS28.device
1.610s sys-devices-platform-serial8250-tty-ttyS27.device
1.610s dev-ttyS27.device
1.610s sys-devices-platform-serial8250-tty-ttyS3.device
1.610s dev-ttyS3.device
1.609s dev-ttyS30.device
1.609s sys-devices-platform-serial8250-tty-ttyS30.device
1.609s dev-ttyS4.device
1.609s sys-devices-platform-serial8250-tty-ttyS4.device
1.609s dev-ttyS31.device
1.609s sys-devices-platform-serial8250-tty-ttyS31.device
1.609s sys-devices-platform-serial8250-tty-ttyS17.device
1.609s dev-ttyS17.device
1.609s sys-devices-platform-serial8250-tty-ttyS5.device
1.609s dev-ttyS5.device
1.608s sys-devices-platform-serial8250-tty-ttyS29.device
1.608s dev-ttyS29.device
1.608s dev-ttyS6.device
1.608s sys-devices-platform-serial8250-tty-ttyS6.device
1.607s dev-ttyS0.device
1.607s sys-devices-platform-serial8250-tty-ttyS0.device
1.607s sys-devices-platform-serial8250-tty-ttyS7.device
1.607s dev-ttyS7.device
1.607s sys-devices-platform-serial8250-tty-ttyS10.device
1.607s dev-ttyS10.device
1.607s sys-devices-platform-serial8250-tty-ttyS8.device
1.607s dev-ttyS8.device
1.606s sys-devices-platform-serial8250-tty-ttyS1.device
1.606s dev-ttyS1.device
1.606s sys-devices-platform-serial8250-tty-ttyS25.device
1.606s dev-ttyS25.device
1.605s dev-disk-by\x2dpath-virtio\x2dpci\x2d0000:00:05.0.device
1.605s dev-disk-by\x2did-virtio\x2dvirtuallinuxstorage.device
1.605s dev-vda.device
1.605s dev-disk-by\x2ddiskseq-1.device
1.605s dev-disk-by\x2dpath-pci\x2d0000:00:05.0.device
1.605s sys-devices-pci0000:00-0000:00:05.0-virtio1-block-vda.device
1.604s sys-devices-pci0000:00-0000:00:05.0-virtio1-block-vda-vda3.device
1.604s dev-vda3.device
1.604s dev-disk-by\x2did-virtio\x2dvirtuallinuxstorage\x2dpart3.device
1.604s dev-disk-by\x2dpartuuid-6a31a1e1\x2d40d7\x2d4e0d\x2d9614\x2d83d071ce189b.device
1.604s dev-disk-by\x2duuid-8814af09\x2d30bb\x2d4d73\x2d928d\x2d0659ee449e0a.device
1.604s dev-disk-by\x2dpath-pci\x2d0000:00:05.0\x2dpart3.device
1.604s dev-disk-by\x2dpath-virtio\x2dpci\x2d0000:00:05.0\x2dpart3.device
1.603s dev-ttyS26.device
1.603s sys-devices-platform-serial8250-tty-ttyS26.device
1.603s sys-devices-platform-serial8250-tty-ttyS24.device
1.603s dev-ttyS24.device
1.545s dev-disk-by\x2dpath-pci\x2d0000:00:05.0\x2dpart1.device
1.545s dev-vda1.device
1.545s sys-devices-pci0000:00-0000:00:05.0-virtio1-block-vda-vda1.device
1.545s dev-disk-by\x2did-virtio\x2dvirtuallinuxstorage\x2dpart1.device
1.545s dev-disk-by\x2duuid-02E7\x2d6AE5.device
1.545s dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device
1.545s dev-disk-by\x2dpartuuid-d4cb3ac8\x2dd621\x2d4514\x2da749\x2dbdaae8a86b0b.device
1.545s dev-disk-by\x2dpath-virtio\x2dpci\x2d0000:00:05.0\x2dpart1.device
1.347s docker.service
 819ms initrd-switch-root.service
 669ms NetworkManager-wait-online.service
 166ms firewalld.service
 142ms initrd-parse-etc.service
 129ms user@0.service
 102ms containerd.service
  83ms polkit.service
  74ms systemd-journal-flush.service
  74ms systemd-resolved.service
  58ms systemd-udev-trigger.service
  54ms systemd-logind.service
  46ms systemd-oomd.service
  38ms auditd.service
  31ms systemd-vconsole-setup.service
  28ms chronyd.service
  27ms systemd-udevd.service
  27ms NetworkManager.service
  26ms systemd-tmpfiles-setup.service
  25ms dev-hugepages.mount
  24ms dev-mqueue.mount
  23ms systemd-journald.service
  22ms systemd-fsck-root.service
  22ms sys-kernel-debug.mount
  22ms dev-zram0.swap
  21ms plymouth-start.service
  21ms plymouth-switch-root.service
  21ms sys-kernel-tracing.mount
  19ms systemd-tmpfiles-setup-dev.service
  19ms systemd-zram-setup@zram0.service
  18ms kmod-static-nodes.service
  17ms modprobe@fuse.service
  17ms dracut-pre-pivot.service
  17ms sshd.service
  17ms dbus-broker.service
  17ms modprobe@dm_mod.service
  16ms modprobe@drm.service
  16ms systemd-fsck@dev-disk-by\x2duuid-02E7\x2d6AE5.service
  16ms systemd-remount-fs.service
  15ms systemd-userdbd.service
  14ms plymouth-quit.service
  14ms systemd-network-generator.service
  13ms modprobe@loop.service
  13ms plymouth-read-write.service
  13ms plymouth-quit-wait.service
  13ms systemd-modules-load.service
  12ms systemd-sysctl.service
  10ms boot-efi.mount
   9ms systemd-user-sessions.service
   8ms systemd-update-utmp-runlevel.service
   8ms initrd-cleanup.service
   8ms systemd-random-seed.service
   8ms user-runtime-dir@0.service
   7ms systemd-update-utmp.service
   6ms initrd-udevadm-cleanup-db.service
   4ms sys-kernel-config.mount
   4ms dev-disk-by\x2duuid-8814af09\x2d30bb\x2d4d73\x2d928d\x2d0659ee449e0a.swap
   4ms dracut-shutdown.service
   3ms modprobe@configfs.service
   3ms sys-fs-fuse-connections.mount
   2ms tmp.mount
   1ms docker.socket
vbr ★★★★
() автор топика
Ответ на: комментарий от vbr

Попробуй переконпелять ведро с localyesconfig, вкомпиль в него необходимые для работы с разделами модулями (разделы + фс) и убери нах initrd.

windows10 ★★★★★
()
Ответ на: комментарий от yu-boot

«Сейчас я тебе объясню почему тебе это не нужно» — разновидность ущербного мышления, не надо так.

Exmor_RS ★★★
()
Последнее исправление: Exmor_RS (всего исправлений: 1)
Ответ на: комментарий от vbr

Ну это типа корень с XFS.

Пофигу. Система тратит полторы секунды на действия с твоим разделом. От линейной скорости носителя это вряд ли зависит, я думаю там какие-то проверки про монтировании идут.

Еще насколько я помню, можно увеличить скорость загрузки отключив синхронное сканирование ATA, там через параметры ядра можно. Туда же всякие mitigations=off и прочие оптимизации.

А вообще попробуй поэкспериментировать с r\o фс, типа squashfs.

windows10 ★★★★★
()
Ответ на: комментарий от slyjoeh

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

Кстати, когда просил поставить еще одну сетевую карточку, админ без проблем пришёл, раскрутил корпус, поставил и закрутил обратно. Так что не знаю, что там заменяется.

hibou ★★★★★
()
Ответ на: комментарий от slyjoeh

Что за модель-то? У меня ноутбук от Dell и он нифига не быстро грузится.

а у тебя m2 nvme?

Да.

vbr ★★★★
() автор топика
Ответ на: комментарий от theNamelessOne

Я на маке, тут контейнеров нет ):

vbr ★★★★
() автор топика

нужен тег «спортивное линуксирование»

Psilocybe ★★★★
()

За миллион баксов

burato ★★★★★
()

давайте меряться

# systemd-analyze critical-chain
graphical.target @9.603s
└─multi-user.target @9.603s
  └─ModemManager.service @8.933s +669ms
    └─polkit.service @8.160s +748ms
      └─basic.target @8.058s
        └─sockets.target @8.058s
          └─uuidd.socket @8.058s
            └─sysinit.target @8.050s
              └─swap.target @8.050s
                └─dev-disk-by\x2duuid-ee9858c7\x2d17a0\x2d4141\x2da2a9\x2d12c06e3b86af.swap @7.919s +129ms
                  └─dev-disk-by\x2duuid-ee9858c7\x2d17a0\x2d4141\x2da2a9\x2d12c06e3b86af.device @7.899s
amd_amd ★★★★★
()

За сколько

А скока у тебя есть? :) Ну так-то XIP-ведру грузиться типа не нужно — исполняется на месте. Где-то доли секунды обещают от 0.5... Но возможно, там без 0.5 никогда и не обходится.

slackwarrior ★★★★★
()

Возможно для

набираешь команду и линукс тут же загружается и выполняет её. Но 5 секунд ждать загрузки

вам нужна не виртуалка, а Compatibility_layer. Что-то уровня почившей OpenLINA (pdf-ка про технологию). Для мака такого не знаю, так что другие варианты:

  • https://lima-vm.io/
    https://github.com/lima-vm/lima

    Lima launches Linux virtual machines on macOS, with automatic file sharing, port forwarding, and containerd.
    Lima can be considered as a some sort of unofficial «macOS subsystem for Linux», or «containerd for Mac».

  • https://github.com/karton/karton
    https://karton.github.io/

    Karton is a tool which can transparently run Linux programs on macOS. Based on Docker and Qemu.
    Fast. Launching a program in an image takes fractions of a second.
    No need to start/stop a virtual machine or container, it’s done transparently and quickly.
    Multiple terminals access the same running image. You can start a program in one terminal and attach to it with gdb from another.
    Automatic handling of shared directories and files. Your files are accessible both on your system and to programs running in an image.

  • https://getutm.app/
    https://github.com/utmapp/UTM

    UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of QEMU. In short, it allows you to run Windows, Linux, and more on your Mac, iPhone, and iPad.
    Fast Emulation. Para-virtualization with SPICE and JIT compilation with TCG.

  • https://multipass.run/
    https://github.com/canonical/multipass

    Multipass is a lightweight VM manager for Linux, Windows and macOS. It’s designed for developers who want a fresh Ubuntu environment with a single command. It uses KVM on Linux, Hyper-V on Windows and HyperKit on macOS to run the VM with minimal overhead. It can also use VirtualBox on Windows and macOS.
    Native hypervisor. Hyper-V, HyperKit, Virtualbox and KVM are all natively used for the fastest startup time.
    Optimised guests. Custom tuned Ubuntu kernel is used for each hypervisor for the best I/O and performance.

mydibyje ★★★★
()
Ответ на: комментарий от hibou

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

Ну если у тебя дома комп с hdd 5400rpm и дохлым процом, а на работе бодрый комп с ssd nvme, то такое возможно.

vasya_pupkin ★★★★★
()
Ответ на: комментарий от mydibyje

Да видел я это всё, я этому не доверяю, мне своё, посконное, самолепное надо.

vbr ★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)