>  기사  >  운영 및 유지보수  >  Linux abrtd는 어떤 서비스인가요?

Linux abrtd는 어떤 서비스인가요?

藏色散人
藏色散人원래의
2023-03-27 09:19:243294검색

linux abrtd는 응용 프로그램 충돌을 모니터링하는 데몬입니다. 충돌이 발생하면 충돌한 응용 프로그램을 수집하고 "/etc/abrt"에 있는 abrt.conf 구성 파일에 구성된 충돌 유형에 따라 조치를 취합니다. 디렉토리 "abrt.conf" 등의 구성이 있습니다.

Linux abrtd는 어떤 서비스인가요?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

abrtd 서비스가 시스템 리소스를 점유하고 있나요?

문제 설명

우리 개발 환경에서 특히 리소스를 소모하는 프로세스가 있습니다. 이유를 분석해 주실 수 있나요? 이는 현장 및 퍼블릭 클라우드 이전에도 여러 번 발생했으며 결국 이 프로세스로 인해 시스템 메모리가 가득 차고 가동 중지 시간이 발생하게 됩니다. 이제 막 현장에서 이 문제를 발견했습니다

Linux abrtd는 어떤 서비스인가요?

해결 아이디어 및 방법

프로세스가 가득 찼을 때 가장 먼저 해야 할 일은 프로세스 이름을 보고, 끝났는지 육안으로 확인하는 것입니다. 처음 봤을 때

top -pH 48297 특정 프로세스의 어느 스레드에 문제가 있는지 살펴보고, 한 프로세스에만 스레드가 없는 것을 발견합니다
Linux abrtd는 어떤 서비스인가요?

ps 이 서비스의 디렉터리가 어디에 있는지 살펴보세요

.
[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

전혀 모르겠어! ! Baidu에서 검색을 시작했고 다음을 발견했습니다.

abrtd

abrtd는 응용 프로그램 충돌을 모니터링하는 데몬 프로세스입니다. 충돌이 발생하면 충돌(핵심 파일의 명령줄 등) 응용 프로그램을 수집하고 가져옵니다. 유형에 따른 조치 충돌이 발생하고 abrt.conf 구성 파일의 구성을 기반으로 합니다. 플러그인의 다양한 작업이 있습니다. 예를 들어, bugzilla는 충돌을 보고하고, ftp나 보고서 또는 scp를 통해 보고서를 전송합니다. 해당 플러그인의 매뉴얼 페이지를 확인하세요.
abrtd: 자동 버그 리포트 데몬. 자동 버그 리포트 데몬
리눅스 디버깅 프로그램에서 가장 괴로운 점은 프로그램이 비정상적으로 종료되는데, 핵심 파일을 찾을 수 없어 어렵다는 것입니다. 문제를 찾으려면. 하지만 코어 파일을 사용하면 찾기가 훨씬 쉽습니다.

일반적으로 환경 변수에 ulimit -c unlimited를 설정할 수 있습니다. 그러나 현장 구현자는 때때로 이 명령을 설정하는 것을 잊어버립니다. 그렇다면 무엇을 해야 할까요? Linux의 abrt 서비스를 설정하면 됩니다.

abrt-action-save-package-data.conf 파일을 수정하세요

다음으로 수정하세요:

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

abrtd 서비스 다시 시작: service abrtd restart

코어 파일이 있는 경우 시간 내에 삭제해야 합니다. abrt-cli list 패키지를 통해 파일을 가져온 다음 abrt-cli rm [파일 패키지]를 사용합니다.

프로그램이 충돌하면 abrt-hook-ccpp가 너무 많은 CPU를 사용하고 IO가 너무 높아 시스템이 가득 찼습니다. 간단히 비활성화하세요.
systemctl stop abrt-ccpp.service
systemctl 비활성화 abrt-ccpp.service
systemctl status abrt-ccpp.service

systemctl status abrt-ccpp.service를 확인해보니 이 서비스가 전혀 시작되지 않은 것을 발견했습니다

Baidu가 다시

usr/libexec/abrt-hook-ccpp 이 프로세스가 계속 증가하는 이유는 무엇인가요? ccpp 파일 생성으로 인해 발생하는

문제는 /etc/abrt/abrt-action-save-package-data.conf에서 ProcessUnpackaged 매개변수를 수정해야 합니다.

/etc/abrt/abrt-action-save-package-data.conf에서 ProcessUnpackaged 매개변수를 수정하세요

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
서비스가 작동하지 않는 것을 발견했습니다. 재시작했는데, 이 프로세스에 의해 락이 걸렸다고 나오네요. 이 프로세스는 리소스를 많이 잡아먹는 프로세스입니다

kill -9 48297
서비스를 다시 시작하세요

서비스 상태를 확인하세요

Linux abrtd는 어떤 서비스인가요?

top프로세스를 다시 살펴보세요 !


Linux abrtd는 어떤 서비스인가요?

추천 학습: "

linux 비디오 튜토리얼"

위 내용은 Linux abrtd는 어떤 서비스인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.