7

Возникла проблема с приложением, которое продолжает убивать. Это работает сервер RHEL5. Мы побежали прямо против процесса, и в конце файла трассировки я получаю кучу +++, убитых сообщениями SIGKILL +++ . SIGKILL не может быть пойман, поэтому я пытаюсь найти способ отследить, почему процесс был убит.

Я попытался использовать некоторые рекомендации Red Hat, такие как

auditctl -a exit,always -S kill 

который, казалось, не работал. Я не видел записей для kill в файле audit.log.

Еще одна рекомендация от Red Hat заключалась в использовании systemtap. Я установил его через yum и попытался запустить stap с помощью предоставленного сценария sigmon.stp. Файл sigmon.stp находится на этой странице: Sigmon.stp Я использовал команду, представленную в разделе комментариев, и вот вывод:

# stap sigmon.stp -x 12647 SIGKILL -v
Pass 1: parsed user script and 85 library script(s) using 146868virt/23716res/3024shr/21404data kb, in 110usr/10sys/116real ms.
semantic error: while resolving probe point: identifier 'kernel' at /usr/share/systemtap/tapset/signal.stp:60:37
        source: probe __signal.send.send_sigqueue = kernel.function("send_sigqueue")
                                                    ^
semantic error: missing x86_64 kernel/module debuginfo under '/lib/modules/2.6.18-308.13.1.el5/build'
semantic error: while resolving probe point: identifier '__signal' at :39:21
        source: probe signal.send = __signal.send.send_sigqueue,
                                    ^
semantic error: no match
semantic error: while resolving probe point: identifier 'signal' at sigmon.stp:30:7
        source: probe signal.send 
                      ^
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 150348virt/28920res/4696shr/24884data kb, in 30usr/40sys/81real ms.
Pass 2: analysis failed.  Try again with another '--vp 01' option.
Missing separate debuginfos, use: debuginfo-install kernel-2.6.18-308.13.1.el5.x86_64  

Кому-нибудь повезло с помощью команды stap? Есть ли другой способ узнать, что убивает мой процесс?

1 ответ1

2

Похоже, что SystemTap не может найти символы отладки для вашего ядра. Вы установили необходимые пакеты отладки ядра для ядра, которое вы используете? Руководство SystemTap гласит:

Для развертывания SystemTap вам необходимо установить пакеты SystemTap вместе с соответствующим набором пакетов -devel, -debuginfo и -debuginfo-common для вашего ядра. Если в вашей системе установлено несколько ядер, и вы хотите использовать SystemTap на нескольких ядрах, вам необходимо установить пакеты -devel и -debuginfo для каждой из этих версий ядра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .