linux abrtd ist ein Daemon, der Anwendungsabstürze überwacht. Wenn ein Absturz auftritt, sammelt er die abgestürzte Anwendung und ergreift Maßnahmen basierend auf der Art des Absturzes, der in der Konfigurationsdatei abrt.conf im Ordner „/etc/abrt“ konfiguriert ist. Verzeichnis Nachfolgend sind die Konfigurationen „abrt.conf“ usw. aufgeführt.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
abrtd-Dienst belegt Systemressourcen?
Es gibt einen Prozess in unserer Entwicklungsumgebung, der besonders Ressourcen verbraucht. Dies ist schon mehrmals vor Ort und in der öffentlichen Cloud passiert, und irgendwann wird dieser Prozess den Speicher der Maschine füllen und zum Absturz führen. Jetzt habe ich dieses Problem gerade vor Ort entdeckt
Das erste, was Sie tun müssen, wenn der Prozess voll ist, ist, sich den Prozessnamen anzusehen und visuell zu überprüfen, ob er beendet ist Als ich es zum ersten Mal gesehen habe
top -pH 48297 Schauen Sie sich an, welcher Thread im jeweiligen Prozess ein Problem hat, und stellen Sie fest, dass nur ein Prozess keinen Thread hat
ps Schauen Sie sich an, wo sich das Verzeichnis dieses Dienstes befindet
[root@yq01-kg-section1-bud3 libexec]# ps -ef | grep abrt-hook-ccpp root 45733 11797 0 12:18 pts/8 00:00:00 grep --color=auto abrt-hook-ccpp root 48297 2 99 Nov16 ? 15:42:50 /usr/libexec/abrt-hook-ccpp 11 0 8669 0 0 1605530067 e 8669 8669
Keine Ahnung! ! Ich habe mit der Suche auf Baidu begonnen und Folgendes gefunden:
abrtd ist ein Daemon-Prozess, der Anwendungsabstürze überwacht, die Absturzdaten (Befehlszeile der Kerndateien usw.) der Anwendung erfasst und übernimmt Maßnahmen je nach Art des Absturzes und basierend auf der Konfiguration in der Konfigurationsdatei abrt.conf. Es gibt verschiedene Aktionen des Plug-Ins: Beispielsweise meldet Bugzilla Abstürze, überträgt den Bericht per FTP oder Report oder SCP Überprüfen Sie die Manpage des entsprechenden Plug-Ins.
abrtd: Automatischer Fehlerberichts-Daemon
Das Schlimmste an Linux-Debugging-Programmen ist, dass das Programm abnormal abstürzt, die Kerndatei jedoch nicht gefunden werden kann um das Problem zu lokalisieren. Aber mit der Kerndatei ist es viel einfacher, sie zu finden.
Im Allgemeinen können Sie ulimit -c unlimited in der Umgebungsvariablen festlegen. Aber Außendienstmitarbeiter vergessen manchmal, diesen Befehl festzulegen. Was ist also zu tun? Dies kann durch Einrichten des Abrt-Dienstes von Linux erreicht werden.
Ändern Sie die Datei abrt-action-save-package-data.conf
Ändern Sie sie wie folgt:
vi /etc/abrt/abrt-action-save-package-data.conf # With this option set to "yes", # only crashes in signed packages will be analyzed. # the list of public keys used to check the signature is # in the file gpg_keys # OpenGPGCheck = no # Blacklisted packages # BlackList = nspluginwrapper, valgrind, strace, mono-core # Process crashes in executables which do not belong to any package? # ProcessUnpackaged = yes # Blacklisted executable paths (shell patterns) # BlackListedPaths = /usr/share/doc/, /example*, /usr/bin/nspluginviewer, /usr/lib/xulrunner-*/plugin-container 还可以调整core文件的大小: [root@xx-host2 abrt]# cat abrt.conf # Enable this if you want abrtd to auto-unpack crashdump tarballs which appear # in this directory (for example, uploaded via ftp, scp etc). # Note: you must ensure that whatever directory you specify here exists # and is writable for abrtd. abrtd will not create it automatically. # #WatchCrashdumpArchiveDir = /var/spool/abrt-upload # Max size for crash storage [MiB] or 0 for unlimited # MaxCrashReportsSize = 1000 # Specify where you want to store coredumps and all files which are needed for # reporting. (default:/var/spool/abrt) # # Changing dump location could cause problems with SELinux. See man abrt_selinux(8). # #DumpLocation = /var/spool/abrt # If you want to automatically clean the upload directory you have to tweak the # selinux policy. # DeleteUploaded = no
Starten Sie den abrtd-Dienst neu: service abrtd restart
Wenn Sie eine Kerndatei haben, müssen Sie diese rechtzeitig löschen Führen Sie die Datei über das Listenpaket abrt-cli aus und verwenden Sie dann abrt-cli rm [Dateipaket].
Wenn das Programm abstürzt, verbraucht abrt-hook-ccpp zu viel CPU und die IO ist zu hoch, was dazu führt, dass das System voll ist. Deaktivieren Sie es einfach.
systemctl stop abrt-ccpp.service
systemctl disable abrt-ccpp.service
systemctl status abrt-ccpp.service
Ich habe den systemctl status abrt-ccpp.service überprüft und festgestellt, dass dieser Dienst überhaupt nicht gestartet ist
Baidu schon wieder
usr/libexec/abrt-hook-ccpp Warum nimmt dieser Prozess ständig zu? Weil dies nicht möglich ist. Das durch die Erstellung der CCPP-Datei verursachte
sed -i 's/ProcessUnpackaged = no/ProcessUnpackaged = yes/g' /etc/abrt/abrt-action-save-package-data.conf&& service abrtd restart
Nov 17 13:15:15 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297 Nov 17 13:15:15 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297 Nov 17 13:15:16 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297 Nov 17 13:15:16 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297 Nov 17 13:15:17 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297 Nov 17 13:15:17 yq01-kg-section1-bud3 systemd: abrtd.service stop-sigterm timed out. Killing. Nov 17 13:15:17 yq01-kg-section1-bud3 systemd: abrtd.service: main process exited, code=killed, status=9/KILL Nov 17 13:15:17 yq01-kg-section1-bud3 systemd: Unit abrtd.service entered failed state. Nov 17 13:15:17 yq01-kg-section1-bud3 systemd: abrtd.service failed. Nov 17 13:15:17 yq01-kg-section1-bud3 abrtd: Lock file '.lock' is locked by process 48297
Empfohlenes Lernen: „
Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWelcher Dienst ist Linux Abrtd?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!