Kann eine Auslagerungsdatei den Bootvorgang unter Linux verlangsamen?

Kann eine Auslagerungsdatei den Bootvorgang unter Linux verlangsamen?

Seit einiger Zeit habe ich das Problem, dass mein Linux Ubuntu 18.04 sehr langsam bootet (manchmal 5-10 Minuten). Seltsamerweise scheint dies begonnen zu haben, seit ich die Swap-Datei bearbeitet habe und/oder Gparted verwendet habe. Der topBefehl und swapon -sdie Kommandozeile zeigen, dass die Swap-Datei funktioniert (ich habe 4 GB reserviert).

Aber der folgende Befehl zeigte etwas Seltsames:

sudo findmnt --verify --verbose

Alle Zeilen sind in Ordnung, außer der folgendenWarnungerscheint:

[W] non-bind mount source /swapfile is a directory or regular file

Was genau bedeutet diese Zeile? Bedeutet sie, dass die Auslagerungsdatei nicht gemountet werden konnte? (obwohl sie eigentlich funktioniert). Ich habe mich also gefragt, ob in meiner Fstab-Datei etwas nicht stimmt.

cat /etc/fstab

Die Swap-Linie ergibt folgendes:

/swapfile none swap sw 0 0

Ich habe gehört, dass Probleme beim Finden und Mounten der Auslagerungsdatei während des Bootens den gesamten Prozess verlangsamen können. Die Auslagerungsdatei wird von der Hauptfestplatte ausgeführt, daher habe ich mich gefragt, ob die obige Zeile etwa wie folgt geändert werden sollte:

UUID=xx9999x9-9x99-9xx9-9999-xx9x9xx99xx9/swapfile none swap sw 0 0

Wobei die UUID die Festplatte ist. Ich habe keine Partitionierung verwendet.

Systemd-analyze blame gibt folgende Ausgabe aus:

systemd-analyze blame | head

     17.041s dev-sda1.device
     11.192s dev-loop9.device
     11.056s dev-loop16.device
     10.964s dev-loop14.device
     10.704s dev-loop6.device
     10.703s dev-loop1.device
     10.703s dev-loop7.device
     10.703s dev-loop2.device
     10.702s dev-loop4.device
     10.687s dev-loop13.device

Nach der Verwendung sudo apt-get purge snapdergibt sich folgendes:

systemd-analyze blame | head
    7.902s dev-sda1.device
    7.152s NetworkManager-wait-online.service
    5.121s ufw.service
    4.792s systemd-udevd.service
    4.539s docker.service
    4.298s accounts-daemon.service
    4.152s systemd-journal-flush.service
    3.970s apparmor.service
    3.808s avahi-daemon.service
    3.751s bluetooth.service

Der Befehl sudo blkidgibt eine Zeile aus (ich habe die ID anonymisiert). Vorher gab es viele Zeilen /dev/loopX: TYPE="squashfs"

    /dev/sda1: UUID="xx9999x9-9x99-9xx9-9999-xx9x9xx99xx9" TYPE="ext4"   PARTUUID="9999xx999-01"

Ein Screenshot der DisksParameter:

SMART-Daten

Ausgabe des Syslogs:

grep -i FPDMA /var/log/syslog*

[   48.245514] ata6.00: failed command: READ FPDMA QUEUED
[   48.247916] ata6.00: failed command: READ FPDMA QUEUED
[   48.250316] ata6.00: failed command: READ FPDMA QUEUED
[   48.252774] ata6.00: failed command: READ FPDMA QUEUED

Hier folgt ein Screenshot von Gparted:

Gparted

Eine weitere Beobachtung: Wenn ich den Computer starte, bleibt der Bildschirm 5-10 Minuten schwarz. Dann, nach langem Warten, erscheint ein Titelbildschirm mit der Laptop-Markierung. Von da an scheint alles reibungslos zu laufen. Ich wollte das nur sagen, da es ein Hinweis darauf sein könnte, wo beim Booten etwas schief läuft. Ich habe mich gefragt, ob der Bootloader (Grub) defekt sein könnte, da ich zuvor Dual Boot auf diesem System ausgeführt und Windows 7 kürzlich entfernt habe.

Dateisystemtabelle

sudo cat /etc/fstab

    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda1 during installation
    UUID=ae2158a5-6f28-4da8-8082-cc6d6bb20ed2 /               ext4       errors=remount-ro 0       1
    /swapfile none            swap    sw              0       0


sudo blkid
    /dev/sda1: UUID="ae2158a5-6f28-4da8-8082-cc6d6bb20ed2" TYPE="ext4"  PARTUUID="630bb523-01"

BIOS-Version

sudo dmidecode -s bios-version
1.03.05

Mainboardinfos:

TUXEDO Book DC1504
Model: W650SJ
Clevo CO

sudo dmidecode -t 2
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Notebook                        
Product Name: W65_67SJ                        
Version: Not Applicable                  
Serial Number: Not Applicable                  
Asset Tag: Tag 12345
Features:
    Board is a hosting board
    Board is replaceable
Location In Chassis: Not Applicable
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0

Ich verwende Ubuntu 18.04.5 LTS.

Roden

Der Befehl dpkg -l grub* | grep iigibt folgende Ausgabe aus:

ii  grub-common           2.02-2ubuntu8.18 amd64        GRand Unified Bootloader (common files)

ii  grub-gfxpayload-lists 0.7              amd64        GRUB gfxpayload blacklist

ii  grub-pc               2.02-2ubuntu8.18 amd64        GRand Unified Bootloader, version 2 (PC/BIOS version)

ii  grub-pc-bin           2.02-2ubuntu8.18 amd64        GRand Unified Bootloader, version 2 (PC/BIOS binaries)

ii  grub2-common          2.02-2ubuntu8.18 amd64        GRand Unified Bootloader (common files for version 2)

Ich danke Ihnen für Ihre Hilfe!

Antwort1

Wahrscheinlich ist Ihnen beim „Bearbeiten“ der /swap-Datei ein Fehler unterlaufen.

  • „scheint begonnen zu haben, seit ich die Auslagerungsdatei bearbeitet habe“

  • „/swapfile ist ein Verzeichnis oder eine normale Datei“

DerrichtigVorgang zum Erstellen/Ändern der Größe einer 4G-/Swap-Datei …

Notiz: Falsche Verwendung des ddBefehls kann zu Datenverlust führen. Kopieren/Einfügen empfohlen.

sudo swapoff -a           # turn off swap
sudo rm -i /swapfile      # remove old /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

sudo chmod 600 /swapfile  # set proper file protections
sudo mkswap /swapfile     # init /swapfile
sudo swapon /swapfile     # turn on swap
free -h                   # confirm nnG RAM and 4G swap

Bestätigen Sie diese Zeile in /etc/fstab … und bestätigen Sie, dass keine anderen „Swap“-Zeilen vorhanden sind …

/swapfile    none    swap    sw      0   0

reboot                    # reboot and verify operation

Update Nr. 1:

Auf Ihrer Festplatte liegen einige NCQ-Fehler vor.

Native Command Queuing (NCQ) ist eine Erweiterung des Serial-ATA-Protokolls, die es Festplattenlaufwerken ermöglicht, die Reihenfolge, in der empfangene Lese- und Schreibbefehle ausgeführt werden, intern zu optimieren.

Bearbeiten sudo -H gedit /etc/default/grubund ändern Sie die folgende Zeile, um diesen zusätzlichen Parameter einzuschließen. sudo update-grubSchreiben Sie die Änderungen dann auf die Festplatte. Starten Sie neu. Der Monitor hängt und achten Sie /var/log/syslogauf dmesgweitere Fehlermeldungen.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"

Wenn sich das Problem dadurch nicht beheben lässt, kommen wir zurück und blockieren die Festplatte.

Update Nr. 2:

Da Sie immer noch Probleme haben, tun wir dies, um die langsamen Startzeiten zu beheben.

Bearbeiten Sie /etc/default/grub.

ändern Sie diese Zeile:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"

dazu:

GRUB_CMDLINE_LINUX_DEFAULT="libata.force=noncq"

Dann:

sudo update-grub

reboot

Während des Neustarts wird nun viel Text auf dem Bildschirm angezeigt. Wenn der Neustart stockt oder pausiert, gibt uns das letzte Element auf dem Bildschirm einen Hinweis darauf, was nicht stimmt. Machen Sie ein klares Bild davon, laden Sie es in Ihre Frage hoch und senden Sie mir dann einen Ping.

Ihre SMART-Daten weisen keine Probleme mit fehlerhaften Blöcken auf. Sie weisen jedoch viele Lesefehler auf, die möglicherweise durch den NCQ-Patch behoben wurden.

Update Nr. 3:

Notiz: Sie sollten für den Fall von Problemen über gute Backups verfügen.

Wir aktualisieren Ihre Ramdisk und installieren GRUB neu.


ls -al /boot/initrd*# Beachten Sie die Größe dieser Dateien

sudo update-initramfs -c -k $(uname -r)# Erstellen Sie die Ramdisk-Datei neu

ls -al /boot/initrd*# Beachten Sie, ob sich die Dateigrößen geändert haben

reboot# sehen, ob es jetzt schneller bootet


dpkg -l grub* | grep ii# zeigt die aktuell installierten Grub-Dateipakete an

sudo apt install --reinstall package_name_here# für jedes oben aufgeführte GRUB-Paket

sudo update-grub# GRUB aktualisieren

reboot# sehen, ob es jetzt schneller bootet

Update Nr. 4:

Um nach einem neueren BIOS zu suchen, müssen Sie ein Benutzerkonto erstellen unterhttps://www.tuxedocomputers.com/index.php?module=account

Um den Tuxedo-Support zu kontaktieren, rufen Sie Tel.:+4982189982992 an oder senden Sie eine E-Mail anhttps://www.tuxedocomputers.com/en/Contact.tuxedo

verwandte Informationen