GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

„systemd-udevd:Cannot allocate memory“ und „A start job is running for dev-mapper-\x2droot.device“ – CentOS/RHEL 7-Startproblem

Das Problem

Das System kann mit dem Startvorgang nicht fortfahren und bleibt bei einer Fehlermeldung hängen:

systemd-udevd[369]: fork of '/bin/sh -c '>/tmp/.lvm_scan-sdc;'' failed: Cannot allocate memory
A start job is running for dev-mapper-\x2droot.device

Die Lösung

Wenn die systemd-Unit namens lvmetad aktiviert ist und ausgeführt wird, werden die Metadaten zwischengespeichert, was das Scannen von Festplatten reduziert, und es stellt LVM-Befehle mit VG-Metadaten und PV-Status bereit. LVM-Befehle vermeiden dann das Lesen der Informationen von Festplatten. Wenn es Änderungen in den zugrunde liegenden Datenträgergruppen und physischen Datenträgern gibt, verfügt der LVM-Metadaten-Cache möglicherweise nicht über die Informationen zu den Änderungen auf den Datenträgern, was dazu führen kann, dass dieses Problem bei LVM-Befehlen wie lvm_scan-sd * hängen bleibt.

Ein weiterer Faktor wäre, dass während dieses Scans die Speicherzuweisung aufgrund falscher oder unangemessener Einstellungen für den Kernelparameter vm.nr_hugepages fehlschlagen könnte . Riesige Seiten können so konfiguriert werden, dass sie einen Teil des Speichers zuweisen und widmen, der nicht vom Betriebssystem verwendet werden kann.

1. Starten Sie das System mithilfe der Rettungsdiskette im Rettungsmodus.

CentOS / RHEL 7 :So booten Sie von der Installations-DVD/ISO in den Rettungsmodus

2. Stellen Sie sicher, dass riesige Seiten in /etc/sysctl.conf eingestellt sind ist der empfohlene Wert, um den Fehler „Cannot allocate memory“ zu vermeiden.

3. Sie können die Einstellung für riesige Seiten in /etc/systcl.conf deaktivieren, um zu sehen, ob dies das Problem verursacht hat. Bearbeiten Sie /etc/sysctl.conf und stellen Sie sicher, dass vm.nr_hugepages nicht vorhanden ist, oder ersetzen Sie es durch #vm.nr_hugepages = .

4. lvmetad deaktivieren:

# systemctl disable lvm2-lvmetad
# systemctl disable lvm2-lvmetad.socket

5. Bearbeiten Sie /etc/lvm/lvm.conf und ersetzen Sie die folgende Zeile:

Von:

use_lvmetad = 1 to use_lvmetad = 0

6. Erstellen Sie initramfs neu, um die Änderungen für den spezifischen Kernel anzupassen:

# cp /boot/initramfs-[kernel version].img /root
# cd /boot
# dracut -f -v initramfs-[kernel].img [kernel]

Zum Beispiel:

# dracut -f -v initramfs-3.10.0-514.el7.x86_64.img 3.10.0-514.el7.x86_64

7. Starten Sie das System neu, damit die Änderungen wirksam werden:

# shutdown -r now


Cent OS
  1. So installieren Sie das mod_pagespeed-Modul für Apache in RHEL, CentOS und Fedora mit YUM

  2. CentOS / RHEL :So installieren und starten Sie den Apache httpd-Dienst

  3. CentOS / RHEL 7 :Grundlegendes zu Kexec und Kdump

  4. So installieren und konfigurieren Sie Device Mapper Multipath in CentOS/RHEL 6,7

  5. „mlock failed:Cannot allocate memory“ lvcreate-Befehlsfehler in CentOS/RHEL 7

Aktivieren Sie den passiven Modus in FTP auf CentOS 7 / RHEL 7 für FileZilla und WinSCP

CentOS / RHEL 7 :Bootvorgang

So generieren Sie initramfs und vmlinuz für den Rescue-Kernel mit dem aktuellen Kernel in CentOS/RHEL 7 neu

Grundlegende Master Cups-Server- und -Client-Konfiguration für das Browsen in CentOS/RHEL 7

„Kein Platz mehr auf dem Gerät“ – Problem bei der kdump-Generierung (CentOS/RHEL)

8 YUM-Repositories von Drittanbietern für CentOS und RHEL