Ich habe gerade bemerkt, dass der größte Teil meines Gedächtnisses durch einen Kern einiger Prozesse belastet war, die ich kürzlich getötet hatte. Ich hatte einen systemd-coredump-Prozess, der für jeden abgestürzten Prozess ausgeführt wurde (normalerweise waren die Prozesse Google-Chrome, den ich zwangsweise beenden musste, was den hohen Speicherverbrauch erklärt).
Was ich wissen möchte, ist, warum anstatt den Kern des abgestürzten Prozesses auf die Festplatte zu kopieren, ein neuer Prozess gestartet wird, der den gesamten Kern im RAM enthält.
Ist meine Konfiguration fehlerhaft oder soll es so sein? Wenn ja, wie ändere ich das Verhalten?
Im Moment habe ich das Speichern des Core-Dumps durch Verknüpfen /dev/null
mit deaktiviert /etc/sysctl.d/coredump.conf
, obwohl ich keine Core-Dumps sehe, aber dennoch aktiviert lassen möchte. Alle Ideen / Hinweise wäre dankbar.
(Das Problem wird auch unter folgender Adresse veröffentlicht: https://bbs.archlinux.org/viewtopic.php?pid=1246237 )
memtest86
und Überprüfen Ihres Speichers beginnen, bevor Sie dieses Problem lösen.man core
wird viele der verfügbaren Optionen für Core-Dumps erläutern.Antworten:
Standardmäßig werden Core-Dumps auf die Festplatte geschrieben und sollten nicht in den Speicher geschrieben werden. Weitere Informationen finden Sie auf der Handbuchseite . Sie können den Pfad und den Dateinamen der Kerndatei herausfinden und ändern, indem Sie sich ansehen
/proc/sys/kernel/core_pattern
Sie können einfach deaktivieren Core - Dumps durch Umleiten
coredump.conf
zunull
Eine andere Möglichkeit, Core-Dumps zu deaktivieren, besteht darin , die Einstellungen in zu ändern
limits.conf
quelle
coredump.conf
zu50-coredump.conf
jetzt. Siehe auch das Arch Linux-Wiki für Systemd .