- Вопрос или проблема
- Ответ или решение
- Высокая загрузка ЦП при использовании systemd-journald и rsyslogd в Debian 10
- Введение
- Подробности проблемы
- Симптомы
- Логи системы
- Причины проблемы
- Решение проблемы
- 1. Отключение избыточного логирования
- 2. Устранение сетевых проблем
- 3. Обновление системы
- 4. Мониторинг состояния
- Заключение
Вопрос или проблема
Это свежая установка 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, когда система замедлилась.
- Вот еще один связанный вопрос с Askubuntu: https://askubuntu.com/questions/1251908/syslog-and-kern-log-keeps-filling-up-and-network-stops-working
- Сообщение об ошибке от Red Hat: https://bugzilla.redhat.com/show_bug.cgi?id=1851185
- Сообщение об ошибке Ubuntu: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1882419/comments/12
- Сообщение об ошибке от ядра Linux: https://bugzilla.kernel.org/show_bug.cgi?id=98321
Что именно здесь происходит и как я могу это исправить?
У меня тоже была эта проблема, и я часто проверял наличие ответа. На 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.
Причины проблемы
Существует несколько факторов, которые могут вызывать такие симптомы:
-
Избыточные логи: Объем логов в
/var/log/kern.log
,/var/log/messages
и/var/log/syslog
, достигающий 23 ГБ, может указывать на системные ошибки, генерирующие интенсивную запись логов. Это способствует перегрузкеsystemd-journald
. -
Проблемы с сетью: Учитывая, что вы сталкиваетесь с проблемами 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.