Linux abrtd ialah daemon yang memantau ranap aplikasi; apabila ranap sistem berlaku, ia akan mengumpul aplikasi ranap dan mengambil langkah berdasarkan jenis konfigurasi ranap sistem dalam fail konfigurasi abrt.conf, yang terletak di "/etc Direktori /abrt" mempunyai konfigurasi "abrt.conf" dan seterusnya.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.
Perkhidmatan abrtd sedang menduduki sumber sistem?
Terdapat proses dalam persekitaran pembangunan kami yang menggunakan sumber khususnya. Bolehkah anda membantu menganalisis sebabnya? Ini telah berlaku beberapa kali sebelum di tapak dan dalam awan awam Akhirnya, proses ini akan mengisi memori mesin dan menyebabkan masa henti. Sekarang saya baru menemui masalah ini di tempat kejadian
Perkara pertama yang perlu dilakukan apabila proses penuh adalah untuk melihat nama Proses, pemeriksaan visual telah tamat, kali pertama saya melihat
top -pH 48297. Saya melihat benang mana dalam proses tertentu yang mengalami masalah dan mendapati hanya satu proses tidak mempunyai benang
ps Sila lihat di mana direktori perkhidmatan ini
[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
Tiada petunjuk! ! Saya mula mencari di Baidu dan mendapati yang berikut
abrtd ialah proses daemon yang memantau ranap aplikasi Apabila ranap sistem berlaku, ia akan mengumpul ranap sistem (command baris fail teras, dsb.)aplikasi, dan mengambil tindakan berdasarkan jenis ranap sistem dan berdasarkan konfigurasi dalam fail konfigurasi abrt.conf Terdapat pelbagai tindakan untuk pemalam: contohnya, bugzilla melaporkan ranap sistem. memindahkan laporan melalui ftp atau laporan atau scp Sila semak pemalam yang sepadan dalam halaman manual
abrtd: daemon laporan pepijat automatik
Perkara yang paling menyakitkan tentang program penyahpepijatan Linux program ranap secara tidak normal, tetapi fail teras tidak dapat ditemui, yang merupakan masalah Kedudukan yang sangat sukar. Tetapi dengan fail teras, ia lebih mudah untuk dicari.
Secara amnya, anda boleh menetapkan ulimit -c tanpa had dalam pembolehubah persekitaran. Tetapi pelaksana medan kadangkala terlupa untuk menetapkan arahan ini. Jadi apa yang perlu dilakukan? Ia boleh dicapai dengan menyediakan perkhidmatan abrt Linux.
Ubah suai fail abrt-action-save-package-data.conf
Ubah suai kepada:
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
Mulakan semula perkhidmatan abrtd: service abrtd restart
Jika anda mempunyai fail teras, anda perlu memadamkannya tepat pada masanya Semak pakej fail melalui senarai abrt-cli, dan kemudian gunakan abrt-cli rm [pakej fail].
Apabila program ranap, abrt-hook-ccpp menggunakan terlalu banyak CPU dan IO terlalu tinggi, menyebabkan sistem menjadi penuh Hanya nyahaktifkannya
systemctl stop abrt-ccpp.service
. systemctl disable abrt-ccpp.service
systemctl status abrt-ccpp.service
Saya menyemak status systemctl abrt-ccpp.service dan mendapati perkhidmatan ini tidak tersedia sama sekali
Baidu sekali lagi
usr/libexec/abrt-hook-ccpp Mengapa proses ini terus meningkat
Kerana fail ccpp tidak boleh dibuat
Perlu mengubah suai /etc/abrt/abrt-action-save -package- Parameter ProcessUnpackaged dalam data.conf.
Ubah suai parameter ProcessUnpackaged dalam /etc/abrt/abrt-action-save-package-data.conf
sed -i 's/ProcessUnpackaged = no/ProcessUnpackaged = yes/g' /etc/abrt/abrt-action-save-package-data.conf&& service abrtd restart
Ia masih tidak berfungsi selepas pengubahsuaian
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
Didapati bahawa perkhidmatan belum dimulakan semula, dan ditunjukkan bahawa ia telah dikunci oleh proses ini, dan proses ini adalah yang mengambil banyak sumber
kill -9 48297
Mulakan semula perkhidmatan
Semak status perkhidmatan
atas Semak kemajuan sekali lagi!
Pembelajaran yang disyorkan: "tutorial video linux"
Atas ialah kandungan terperinci Apakah perkhidmatan linux abrtd?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!