systemd-journald и rsyslogd: высокая загрузка ЦП

Вопрос или проблема

Это свежая установка Debian 10, которой две-три недели.

В последние пару дней моя система начала вести себя странно, она просто замедлялась, и я не мог использовать sudo в терминале, так как не появлялся запрос на авторизацию. Когда я проверял использование процессора с помощью htop, выяснялось, что systemd-journald использует довольно много ЦП, более 100%. Один раз было два или три процесса/потока rsyslogd, каждый из которых использовал около 50% ЦП. После этого я не видел, чтобы rsyslogd использовал так много ЦП.

Поскольку я не мог использовать sudo, мне не удалось проверить журналы, но сегодня я выяснил, что я могу просто su и стать root, пока sudo не работает, и я проверил журналы.

Следующее – это отрывок из journalctl:

25 авг 22:27:34 asgard systemd-journald[2471]: Пропущено 51 сообщение ядра
25 авг 22:27:34 asgard kernel: wlp0s20f3:  Не удалось выполнить проверку sdata-in-driver, флаги: 0x4
25 авг 22:27:34 asgard kernel: ПРЕДУПРЕЖДЕНИЕ: ЦП: 0 PID: 2221 в net/mac80211/driver-ops.h:19 drv_sta_state+0x265/0x3e0 [mac80211]
25 авг 22:27:34 asgard systemd-journald[2471]: Пропущено 56 сообщений ядра
25 авг 22:27:34 asgard kernel: drbg ansi_cprng cfg80211 dell_rbtn processor_thermal_device iTCO_vendor_support irqbypass intel_soc_dts_iosf ecdh_generic sg joydev dell_laptop hid_multitouch idma64 crct10dif_pclmul crc32_pclmul int3403_thermal rfkill int3400_thermal int340x_thermal_zone wmi_bmof dell_smo8800 dell_wmi intel_hid pcc_cpufreq dell_smbios dell_smm_hwmon dcdbas intel_pch_thermal ucsi_acpi typec_ucsi dell_wmi_descriptor typec acpi_thermal_rel evdev sparse_keymap pcspkr serio_raw ghash_clmulni_intel acpi_tad acpi_pad ac intel_cstate intel_uncore xt_conntrack nft_compat intel_rapl_perf efi_pstore efivars battery nft_counter nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables nfnetlink efivarfs ip_tables x_tables autofs4 ext4  

И следующая часть из journalctl встречается во всех журналах:

25 авг 22:27:34 asgard systemd-journald[2471]: Пропущено 55 сообщений ядра
25 авг 22:27:34 asgard kernel: crc16 mbcache jbd2 fscrypto ecb btrfs xor zstd_decompress zstd_compress xxhash raid6_pq libcrc32c crc32c_generic sd_mod hid_generic crc32c_intel i2c_designware_platform i2c_designware_core i915 psmouse aesni_intel xhci_pci aes_x86_64 crypto_simd xhci_hcd cryptd glue_helper i2c_i801 ahci libahci libata i2c_algo_bit usbcore r8169 drm_kms_helper realtek sdhci_pci libphy cqhci scsi_mod sdhci drm mmc_core intel_lpss_pci intel_lpss mfd_core usb_common i2c_hid hid wmi video button  

Из dmesg:

[ 2420.057787] wlp0s20f3:  Не удалось выполнить проверку sdata-in-driver, флаги: 0x4
[ 2420.057800] Модули, связанные с: uinput cmac rfcomm bnep ctr ccm fuse binfmt_misc nf_log_ipv6 ip6t_REJECT nf_reject_ipv6 nls_ascii snd_soc_skl nls_cp437 vfat fat xt_hl ip6_tables ip6t_rt snd_hda_codec_hdmi snd_soc_skl_ipc snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi nf_log_ipv4 snd_hda_codec_realtek nf_log_common snd_soc_core snd_hda_codec_generic ipt_REJECT nf_reject_ipv4 snd_compress xt_LOG snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm uvcvideo intel_rapl snd_timer snd x86_pkg_temp_thermal intel_powerclamp nft_limit coretemp videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common kvm_intel videodev iTCO_wdt soundcore xt_limit arc4 media iwlmvm mac80211 btusb btrtl btbcm btintel bluetooth xt_addrtype kvm iwlwifi xt_tcpudp mei_me mei
[ 2420.057845] RSP: 0018:ffffbfd40269f9b0 EFLAGS: 00010282
[ 2420.057850] FS:  0000000000000000(0000) GS:ffff9f0f26200000(0000) knlGS:0000000000000000
[ 2420.057879]  __sta_info_flush+0x15e/0x1c0 [mac80211]
[ 2420.057892]  ieee80211_set_disassoc+0xbe/0x550 [mac80211]
[ 2420.057903]  ieee80211_mgd_deauth.cold.57+0x47/0x1b5 [mac80211]
[ 2420.057914]  cfg80211_mlme_deauth+0xb3/0x1d0 [cfg80211]
[ 2420.057926]  cfg80211_mlme_down+0x66/0x90 [cfg80211]
[ 2420.057937]  cfg80211_disconnect+0x128/0x1e0 [cfg80211]
[ 2420.057946]  cfg80211_leave+0x26/0x40 [cfg80211]
[ 2420.057954]  cfg80211_netdev_notifier_call+0xcd/0x600 [cfg80211]
[ 2420.057956]  ? syscall_return_via_sysret+0x14/0x83
[ 2420.057957]  ? ret_from_fork+0x1a/0x40
[ 2420.057970]  ? ieee80211_reconfig+0xd5/0x1420 [mac80211]
[ 2420.057984]  ? report_bug+0xb0/0xd0
[ 2420.057985]  ? inetdev_event+0x46/0x580
[ 2420.057988]  notifier_call_chain+0x47/0x70
[ 2420.057992]  dev_close_many+0x9f/0x160
[ 2420.058002]  cfg80211_shutdown_all_interfaces+0x6d/0xc0 [cfg80211]
[ 2420.058015]  ? rcu_exp_wait_wake+0x250/0x250
[ 2420.058016]  ? try_to_del_timer_sync+0x4d/0x80
[ 2420.058028]  process_one_work+0x1a7/0x3a0
[ 2420.058030]  worker_thread+0x30/0x390
[ 2420.058031]  ? create_worker+0x1a0/0x1a0
[ 2420.058035]  ? kthread_bind+0x30/0x30
[ 2420.058043] ------------[ cut here ]------------
[ 2420.058056] Модули, связанные с: uinput cmac rfcomm bnep ctr ccm fuse binfmt_misc nf_log_ipv6 ip6t_REJECT nf_reject_ipv6 nls_ascii snd_soc_skl nls_cp437 vfat fat xt_hl ip6_tables ip6t_rt snd_hda_codec_hdmi snd_soc_skl_ipc snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi nf_log_ipv4 snd_hda_codec_realtek nf_log_common snd_soc_core snd_hda_codec_generic ipt_REJECT nf_reject_ipv4 snd_compress xt_LOG snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm uvcvideo intel_rapl snd_timer snd x86_pkg_temp_thermal intel_powerclamp nft_limit coretemp videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common kvm_intel videodev iTCO_wdt soundcore xt_limit arc4 media iwlmvm mac80211 btusb btrtl btbcm btintel bluetooth xt_addrtype kvm iwlwifi xt_tcpudp mei_me mei
[ 2420.058101] RSP: 0018:ffffbfd40269f9b0 EFLAGS: 00010282
[ 2420.058107] FS:  0000000000000000(0000) GS:ffff9f0f26200000(0000) knlGS:0000000000000000
[ 2420.058136]  __sta_info_flush+0x15e/0x1c0 [mac80211]
[ 2420.058147]  ieee80211_set_disassoc+0xbe/0x550 [mac80211]
[ 2420.058159]  ieee80211_mgd_deauth.cold.57+0x47/0x1b5 [mac80211]
[ 2420.058170]  cfg80211_mlme_deauth+0xb3/0x1d0 [cfg80211]
[ 2420.058181]  cfg80211_mlme_down+0x66/0x90 [cfg80211]
[ 2420.058193]  cfg80211_disconnect+0x128/0x1e0 [cfg80211]
[ 2420.058202]  cfg80211_leave+0x26/0x40 [cfg80211]
[ 2420.058210]  cfg80211_netdev_notifier_call+0xcd/0x600 [cfg80211]
[ 2420.058212]  ? syscall_return_via_sysret+0x14/0x83
[ 2420.058213]  ? ret_from_fork+0x1a/0x40
[ 2420.058238]  ? ieee80211_reconfig+0xd5/0x1420 [mac80211]
[ 2420.058240]  ? report_bug+0xb0/0xd0
[ 2420.058241]  ? inetdev_event+0x46/0x580
[ 2420.058245]  notifier_call_chain+0x47/0x70
[ 2420.058248]  dev_close_many+0x9f/0x160
[ 2420.058269]  ieee80211_reconfig+0xa3/0x1420 [mac80211]
[ 2420.058271]  ? rcu_exp_wait_wake+0x250/0x250
[ 2420.058272]  ? try_to_del_timer_sync+0x4d/0x80
[ 2420.058285]  worker_thread+0x30/0x390
[ 2420.058288]  kthread+0x112/0x130
[ 2420.058291]  ret_from_fork+0x1f/0x40
[ 2420.058298] ------------[ cut here ]------------  

Похожие на сообщения из journalctl, приведенные выше журналы из dmesg также повторялись бесконечно в dmesg. (Я думаю, что эти журналы dmesg отображались, когда я пытался выключить систему, когда она зависала, но я не мог убедиться, так как сообщения быстро перемещались.)

Я думаю, что замедление вызвано чрезмерным ведением журналов, так как /var/log/kern.log, /var/log/messages и /var/log/syslog имеют размер около 23 ГБ каждый.

Я не уверен, что вызывает такое количество ошибок/журналов, но подозреваю, что это вай-фай ноутбука. Чип Wi-Fi – это Intel® Wireless-AC 9560, и у меня были проблемы с подключением к Wi-Fi. (Wi-Fi отключается внезапно, и менеджер сети показывает устройство не готово. Когда я перезагружаю, опция Wi-Fi исчезает из менеджера сети. Это происходило дважды, и переключение Secure Boot в UEFI на ВЫКЛ/ВКЛ решает проблему.)

Я не заметил никаких проблем с Wi-Fi, когда система замедлилась.

Что именно здесь происходит и как я могу это исправить?

У меня тоже была эта проблема, и я часто проверял наличие ответа. На 26 сентября, после обновления, проблема, кажется, решена.

Ответ или решение

Высокая загрузка ЦП при использовании systemd-journald и rsyslogd в Debian 10

Введение

Вы столкнулись с проблемой высокой загрузки CPU, вызванной процессами systemd-journald и rsyslogd, на свежей установке Debian 10. Такую ситуацию можно считать серьезной, так как она значительно затрудняет работу системы и вызывает проблемы с производительностью. Давайте разберемся в причинах данного поведения и возможных решениях.

Подробности проблемы

Симптомы

Как вы описали, в последние дни система проявляла медлительность, что привело к невозможности выполнения команд с использованием sudo. По результатам мониторинга htop, процесс systemd-journald загружал ЦП более 100%. Также наблюдались процессы rsyslogd, которые использовали около 50% ресурсов CPU.

Логи системы

Из результатов journalctl видно, что процесс systemd-journald пропускал сообщения ядра и регулярно выдавал предупреждения. Такие строки, как "Missed kernel messages", указывают на то, что система не справляется с потоком сообщений, что может быть следствием генерации большого объема логов.

Основные сообщения из лога:

  • Failed check-sdata-in-driver check, flags: 0x4
  • Повторяющиеся сообщения о состоянии сети, что, вероятно, связано с вашим Wi-Fi модулем Intel Wireless-AC 9560.

Причины проблемы

Существует несколько факторов, которые могут вызывать такие симптомы:

  1. Избыточные логи: Объем логов в /var/log/kern.log, /var/log/messages и /var/log/syslog, достигающий 23 ГБ, может указывать на системные ошибки, генерирующие интенсивную запись логов. Это способствует перегрузке systemd-journald.

  2. Проблемы с сетью: Учитывая, что вы сталкиваетесь с проблемами Wi-Fi, возможно, данные ошибки вызываются неадекватной работой сетевого драйвера, что вынуждает систему регистрировать все больше сообщений об ошибках.

Решение проблемы

1. Отключение избыточного логирования

Одним из первых шагов к уменьшению нагрузки на систему будет ограничение объема логирования:

  • Откройте файл /etc/systemd/journald.conf и настройте параметры такие как SystemMaxFileSize и SystemMaxUse, чтобы ограничить размер журналов и предотвратить переполнение дискового пространства.
  • Проверьте настройки rsyslog в /etc/rsyslog.conf и измените уровень ведения логов, например, отключив сообщения, которые вам не нужны.

2. Устранение сетевых проблем

Принимая во внимание, что вы имеете проблемы с вашим Wi-Fi адаптером, выполните следующие действия:

  • Убедитесь, что у вас установлены последние версии драйверов для вашего устройства.
  • Проверьте настройки BIOS/UEFI и установите параметры работы с Secure Boot, так как это может иметь влияние на работу драйверов.
  • Попробуйте переключить Wi-Fi режим на другой (например, с 802.11n на 802.11ac), если это возможно.

3. Обновление системы

Как вы уже отметили в последних сообщениях, возможно, проблема была решена с помощью обновлений, проведенных 26 сентября. Всегда рекомендуем поддерживать систему в актуальном состоянии; используются последние патчи ядра и системных компонентов:

sudo apt update
sudo apt upgrade

4. Мониторинг состояния

Убедитесь, что вы продолжаете следить за состоянием системы после внесения изменений. Используйте утилиты, такие как htop, journalctl, и dmesg для анализа производительности CPU и состояния системы.

Заключение

Проблема с высоким использованием ЦП процессами systemd-journald и rsyslogd может быть следствием избыточной генерации логов, особенно связанных с проблемами сетевого оборудования. Применяя предложенные рекомендации, вы сможете улучшить производительность вашей системы и устранить избыточное логирование. Надеемся, это поможет вам наладить работу вашей системы Debian 10.

Оцените материал
Добавить комментарий

Капча загружается...