Рейтинг:0

Сбой сеанса Ubuntu VM SSH во время большой разархивации из-за высокой загрузки ЦП kauditd

флаг wf

У меня проблемы с виртуальной машиной Ubuntu 18.08 в Azure. Проблема возникает, когда я распаковываю большой файл с помощью распаковать. Мой сеанс SSH завершается с ошибкой отправить разъединение: сломанная труба, и я больше не могу подключиться к машине по SSH, пока не перезапущу ее на консоли Azure.

Я проверил место на диске, и все в порядке. Я думаю, что проблема связана с блокировкой процессора, которую я обнаружил в журналах диагностики:

[9574.275457] rcu: блокировка структур rcu_node:
[ 9581.022803] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 23 с! [каудитд: 22]
[ 9609.022802] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 23 с! [каудитд: 22]
[ 9614.067067] аудит: превышен предел невыполненной работы
[ 9614.072016] аудит: превышен лимит невыполненной работы
[ 9614.076728] аудит: превышен предел невыполненной работы
[ 9637.022802] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 23 с! [каудитд: 22]
[ 9665.022801] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 23 с! [каудитд: 22]
[ 9674.339074] аудит: превышен лимит невыполненной работы
[ 9674.344825] аудит: превышен предел невыполненной работы
[ 9674.351922] аудит: превышен предел невыполненной работы
[ 9693.022802] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 23 с! [каудитд: 22]
[ 9721.022802] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 22 с! [каудитд: 22]
[ 9734.182947] аудит: превышен лимит невыполненной работы
[ 9734.188086] аудит: превышен лимит невыполненной работы
[ 9734.194938] аудит: превышен предел невыполненной работы
[ 9736.682801] rcu: ИНФОРМАЦИЯ: rcu_sched самообнаруженная остановка ЦП
[ 9736.684975] rcu: 1-....: (509855 галочек на этом GP) idle=492/1/0x4000000000000002 softirq=1049753/1049838 fqs=254454 
[9754.486826] rcu: ИНФОРМАЦИЯ: rcu_sched обнаружил ускоренные остановки на ЦП/задачах: {1-...} 511745 мгновений с: 525 root: 0x2/.
[9754.497787] rcu: блокировка структур rcu_node:
[ 9761.022802] сторожевой таймер: ОШИБКА: мягкая блокировка - ЦП № 1 зависает на 22 с! [каудитд: 22]

Кроме того, я пытался контролировать вершина во время распаковки и непосредственно перед тем, как меня загрузили, я вижу каудитд взлететь с менее чем 0% CPU до 70%-100% CPU:

топ - 12:00:01 вверх 21 мин, 1 пользователь, средняя загрузка: 1,34, 1,29, 0,98
топ - 12:02:53 вверх 24 мин, 2 пользователя, средняя загрузка: 2,80, 1,87, 1,25
Задания: 168 всего, 4 бегущих, 95 спящих, 0 остановленных, 0 зомби
%Cpu(s): 31,8 мкс, 48,8 си, 0,0 пн, 0,0 ид, 19,3 ва, 0,0 привет, 0,0 си, 0,0 ст
KiB Mem: всего 8149152, 2436876 бесплатно, 958672 использовано, 4753604 бафф/кэш
KiB Swap: 0 всего, 0 бесплатно, 0 использовано. 6878804 доступно Мем

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  22 корень 20 0 0 0 0 R 79,3 0,0 0:02,92 каудитд                                                             
  299 корень 20 0 1563540 153316 35416 S 73,4 1,9 1:40,58 ds_am                                                              
  29619 root 20 0 11528 5252 2088 S 3,6 0,1 0:14,03 распаковать
  466 root 19 -1 144180 58788 57688 S 1,3 0,7 0:03,89 systemd-journal                                                    
  21596 корень 20 0 0 0 0 I 0,7 0,0 0:00,65 kworker/u4:1-ev

Что может быть причиной того, что демон аудита ядра так внезапно занимает так много ресурсов ЦП? Это был не постепенный рост, а скачок до 100%, а затем зависание ВМ.

Кто-нибудь сталкивался с этим раньше?

anx avatar
флаг fr
anx
Что такое `ds_am`? Используете ли вы какое-то антивредоносное змеиное масло, которое совершенно намеренно использует как минимум столько же ресурсов (собственных и аудита ядра), сколько вы тратите на операцию распаковки с интенсивным вводом-выводом?
x3nr0s avatar
флаг wf
Это тренд микро, так что да. Но нам это нужно для целей аккредитации безопасности.
Рейтинг:0
флаг fr
anx

Я думаю, что это вызвано каким-то компонентом Тренд Микро программного обеспечения. Ваш лучший результат показывает 1:40.58 время, потраченное на ds_am, значительная часть вашего времени безотказной работы.

Программное обеспечение такого рода также является вероятным кандидатом (хотя и не единственным) для установки средств аудита ядра.

  1. Обратитесь к документации и/или связаться с поставщиком программного обеспечения о прямом использовании ресурсов. Однако сначала проверьте, не выполняются ли еще какие-либо задачи регулярного обслуживания или обновления для этого программного обеспечения.

  2. Определите конфигурацию среды аудита ядра и определите другое программное обеспечение, взаимодействующее с ней. (пытаться аудитctl)

x3nr0s avatar
флаг wf
После дальнейшего изучения я не думаю, что это связано с микротрендом. После еще нескольких тестов верхний вывод не показал ds_agent с такой высокой загрузкой процессора. Я также временно остановил ds_agent. Однако kauditd всегда был на 100% после большой разархивации.
anx avatar
флаг fr
anx
@ x3nr0s Если это было не то программное обеспечение (остановка компонентов среды выполнения не подтверждает и не исключает его), кто-то другой должен был дать ядру указание собирать информацию аудита. Попробуйте собрать больше информации о том, какие правила аудита загружены в настоящее время в ядро.
Рейтинг:0
флаг ge

Я не могу сказать, почему. Но я бы посоветовал вам использовать SCREEN или BYOB и разархивировать в фоновом режиме.

Пока он распаковывает файл, просто закройте сеанс SSH, вернитесь через несколько минут и ВОИЛЯ!

x3nr0s avatar
флаг wf
Есть ли причина, по которой интенсивный процесс, такой как zip, использует гораздо больше ресурсов, когда пользователь активно использует SSH?
флаг ge
нет, если вы не запустите его так: ~#ssh user@host unzip bigFile.zip, так как он может вернуть вывод в сеансе ssh вашего терминала ..... Но я не понимаю, почему это может вызвать такой «сбой». ''.... Я бы посоветовал вам открыть билет в Лазурь.
флаг ge
Или вы можете ограничить время процесса распаковки. Если у вас небольшая виртуальная машина, у вас могут быть ограничения на это. Пример: sudo cpulimit --pid 17918 --limit 20. или используйте команду nice.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.