Вопрос или проблема
Каждый раз, когда я запускаю команду dvb-fe-tool –femon, в syslog записываются следующие ошибки. Поскольку нагрузка на процессор также высокая, я хотел бы её уменьшить. Если вы знаете какие-либо методы, пожалуйста, дайте знать.
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
2025-01-19T01:37:55.104672+09:00 recorder kernel: ------------[ cut here ]------------
2025-01-19T01:37:55.104678+09:00 recorder kernel: invalid sysfs_emit_at: buf:00000000b19be40b at:0
2025-01-19T01:37:55.104705+09:00 recorder kernel: WARNING: CPU: 1 PID: 0 at fs/sysfs/file.c:777 sysfs_emit_at+0x64/0xd0
2025-01-19T01:37:55.105222+09:00 recorder kernel: Modules linked in: qrtr smsdvb dvb_core amdgpu iwlmvm intel_rapl_msr intel_rapl_common binfmt_misc snd_hda_codec_realtek snd_hda_codec_generic amdxcp mac80211 drm_exec snd_hda_codec_hdmi gpu_sched btusb edac_mce_amd snd_hda_intel libarc4 drm_buddy snd_intel_dspcfg btrtl snd_intel_sdw_acpi drm_suballoc_helper btintel kvm_amd snd_hda_codec drm_ttm_helper btbcm ttm nls_iso8859_1 snd_hda_core smsusb iwlwifi btmtk smsmdtv kvm drm_display_helper snd_hwdep bluetooth mc snd_pcm cec irqbypass rapl ecdh_generic rc_core snd_timer cfg80211 ecc snd i2c_piix4 i2c_algo_bit ccp k10temp soundcore mac_hid dm_multipath msr efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel nvme sha256_ssse3 ahci xhci_pci nvme_core sha1_ssse3 r8169 libahci video xhci_pci_renesas nvme_auth realtek wmi aesni_intel crypto_simd
2025-01-19T01:37:55.105229+09:00 recorder kernel: cryptd
2025-01-19T01:37:55.105238+09:00 recorder kernel: CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W 6.8.0-51-generic #52-Ubuntu
2025-01-19T01:37:55.105240+09:00 recorder kernel: Hardware name: Default string Default string/Default string, BIOS 5.14 08/02/2024
2025-01-19T01:37:55.105246+09:00 recorder kernel: RIP: 0010:sysfs_emit_at+0x64/0xd0
2025-01-19T01:37:55.105253+09:00 recorder kernel: Code: 00 00 00 48 c7 44 24 10 00 00 00 00 48 85 ff 74 08 f7 c7 ff 0f 00 00 74 39 89 f2 48 89 fe 48 c7 c7 88 fa 68 8c e8 1c d2 b3 ff <0f> 0b 31 c0 48 8b 54 24 18 65 48 2b 14 25 28 00 00 00 75 4e c9 31
2025-01-19T01:37:55.105271+09:00 recorder kernel: RSP: 0018:ffffa34a402a8cf8 EFLAGS: 00010246
2025-01-19T01:37:55.105278+09:00 recorder kernel: RAX: 0000000000000000 RBX: ffff8f28466ba008 RCX: 0000000000000000
2025-01-19T01:37:55.105285+09:00 recorder kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
2025-01-19T01:37:55.105291+09:00 recorder kernel: RBP: ffffa34a402a8d48 R08: 0000000000000000 R09: 0000000000000000
2025-01-19T01:37:55.105298+09:00 recorder kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002
2025-01-19T01:37:55.105305+09:00 recorder kernel: R13: 0000000000000002 R14: ffff8f28466ba000 R15: ffff8f2849f5e0b8
2025-01-19T01:37:55.105311+09:00 recorder kernel: FS: 0000000000000000(0000) GS:ffff8f2ad0680000(0000) knlGS:0000000000000000
2025-01-19T01:37:55.105318+09:00 recorder kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2025-01-19T01:37:55.105325+09:00 recorder kernel: CR2: 00002bad84dc9130 CR3: 000000010422a000 CR4: 00000000003506f0
2025-01-19T01:37:55.105331+09:00 recorder kernel: Call Trace:
2025-01-19T01:37:55.105340+09:00 recorder kernel: <IRQ>
2025-01-19T01:37:55.105347+09:00 recorder kernel: ? show_regs+0x6d/0x80
2025-01-19T01:37:55.105367+09:00 recorder kernel: ? __warn+0x89/0x160
2025-01-19T01:37:55.105369+09:00 recorder kernel: ? sysfs_emit_at+0x64/0xd0
2025-01-19T01:37:55.105392+09:00 recorder kernel: ? report_bug+0x17e/0x1b0
2025-01-19T01:37:55.105396+09:00 recorder kernel: ? srso_return_thunk+0x5/0x5f
2025-01-19T01:37:55.105403+09:00 recorder kernel: ? irq_work_queue+0x2f/0x70
2025-01-19T01:37:55.105425+09:00 recorder kernel: ? handle_bug+0x51/0xa0
2025-01-19T01:37:55.105430+09:00 recorder kernel: ? exc_invalid_op+0x18/0x80
2025-01-19T01:37:55.105437+09:00 recorder kernel: ? asm_exc_invalid_op+0x1b/0x20
2025-01-19T01:37:55.105464+09:00 recorder kernel: ? sysfs_emit_at+0x64/0xd0
2025-01-19T01:37:55.105469+09:00 recorder kernel: ? sysfs_emit_at+0x64/0xd0
2025-01-19T01:37:55.105490+09:00 recorder kernel: smsdvb_print_isdb_stats_ex+0x459/0x650 [smsdvb]
2025-01-19T01:37:55.105500+09:00 recorder kernel: smsdvb_update_isdbt_stats_ex+0x34/0x6e0 [smsdvb]
2025-01-19T01:37:55.105520+09:00 recorder kernel: ? srso_return_thunk+0x5/0x5f
2025-01-19T01:37:55.105521+09:00 recorder kernel: ? iommu_dma_unmap_page+0x4f/0x100
2025-01-19T01:37:55.105542+09:00 recorder kernel: smsdvb_onresponse+0x2bc/0x660 [smsdvb]
2025-01-19T01:37:55.105552+09:00 recorder kernel: smscore_onresponse+0x94/0x520 [smsmdtv]
2025-01-19T01:37:55.105574+09:00 recorder kernel: smsusb_onresponse+0x12d/0x230 [smsusb]
2025-01-19T01:37:55.105584+09:00 recorder kernel: __usb_hcd_giveback_urb+0xac/0x130
2025-01-19T01:37:55.105590+09:00 recorder kernel: usb_giveback_urb_bh+0xa8/0x140
2025-01-19T01:37:55.105614+09:00 recorder kernel: tasklet_action_common.isra.0+0xda/0x1e0
2025-01-19T01:37:55.105623+09:00 recorder kernel: tasklet_action+0x22/0x30
2025-01-19T01:37:55.105630+09:00 recorder kernel: handle_softirqs+0xdb/0x340
2025-01-19T01:37:55.105655+09:00 recorder kernel: __irq_exit_rcu+0xd9/0x100
2025-01-19T01:37:55.105664+09:00 recorder kernel: irq_exit_rcu+0xe/0x20
2025-01-19T01:37:55.105674+09:00 recorder kernel: common_interrupt+0xa4/0xb0
2025-01-19T01:37:55.105676+09:00 recorder kernel: </IRQ>
2025-01-19T01:37:55.105683+09:00 recorder kernel: <TASK>
2025-01-19T01:37:55.105705+09:00 recorder kernel: asm_common_interrupt+0x27/0x40
2025-01-19T01:37:55.105710+09:00 recorder kernel: RIP: 0010:cpuidle_enter_state+0xda/0x730
2025-01-19T01:37:55.105717+09:00 recorder kernel: Code: 27 f6 fe e8 38 ee ff ff 8b 53 04 49 89 c7 0f 1f 44 00 00 31 ff e8 66 be f4 fe 80 7d d0 00 0f 85 61 02 00 00 fb 0f 1f 44 00 00 <45> 85 f6 0f 88 f7 01 00 00 4d 63 ee 49 83 fd 0a 0f 83 17 05 00 00
2025-01-19T01:37:55.105724+09:00 recorder kernel: RSP: 0018:ffffa34a4015fe18 EFLAGS: 00000246
2025-01-19T01:37:55.105730+09:00 recorder kernel: RAX: 0000000000000000 RBX: ffff8f2842f88800 RCX: 0000000000000000
2025-01-19T01:37:55.105737+09:00 recorder kernel: RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000000
2025-01-19T01:37:55.105744+09:00 recorder kernel: RBP: ffffa34a4015fe68 R08: 0000000000000000 R09: 0000000000000000
2025-01-19T01:37:55.105750+09:00 recorder kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff8d0fab20
2025-01-19T01:37:55.105757+09:00 recorder kernel: R13: 0000000000000001 R14: 0000000000000001 R15: 0000002e59ba5762
2025-01-19T01:37:55.105787+09:00 recorder kernel: ? cpuidle_enter_state+0xca/0x730
2025-01-19T01:37:55.105796+09:00 recorder kernel: ? tick_nohz_stop_tick+0x110/0x210
2025-01-19T01:37:55.105817+09:00 recorder kernel: cpuidle_enter+0x2e/0x50
2025-01-19T01:37:55.105822+09:00 recorder kernel: call_cpuidle+0x23/0x60
2025-01-19T01:37:55.105829+09:00 recorder kernel: cpuidle_idle_call+0x11d/0x190
2025-01-19T01:37:55.105850+09:00 recorder kernel: do_idle+0x87/0xf0
2025-01-19T01:37:55.105857+09:00 recorder kernel: cpu_startup_entry+0x2a/0x30
2025-01-19T01:37:55.105864+09:00 recorder kernel: start_secondary+0x129/0x160
2025-01-19T01:37:55.105882+09:00 recorder kernel: secondary_startup_64_no_verify+0x184/0x18b
2025-01-19T01:37:55.105889+09:00 recorder kernel: </TASK>
2025-01-19T01:37:55.105895+09:00 recorder kernel: ---[ end trace 0000000000000000 ]---
Ответ или решение
Конечно, рассмотрим проблему более подробно. Во время выполнения команды dvb-fe-tool --femon
в системе Ubuntu 24.04.1 LTS появляются многочисленные ошибки в системном журнале (syslog), а также наблюдается высокая нагрузка на процессор. Эти явления могут указывать на конфликты в программных модулях или неправильную работу драйверов.
Теория (Theory)
Ошибка, на которую указывает лог, заключается в предупреждении в функции sysfs_emit_at
, что может означать проблему с записью в файловую систему sysfs. Эта система отвечает за представление информации о оборудовании и драйверах в виде файлов в Linux. Если возникают ошибки, это может свидетельствовать о конфликте между модулями, ошибки в коде драйвера, неправильной конфигурации оборудования или операционной системы.
Дополнительно, обратим внимание на то, что используются драйверы, такие как smsdvb
, smsmdtv
и smsusb
, которые связаны с обработкой цифрового видео и USB-интерфейсами. Компания-поставщик оборудования или драйвера может не полностью поддерживать используемую версию ядра, что часто является причиной появления ошибок и большого количества предупреждений в журнале.
Пример (Example)
Ошибка в журнале имеет следующую структуру:
2025-01-19T01:37:55.105222+09:00 recorder kernel: WARNING: CPU: 1 PID: 0 at fs/sysfs/file.c:777 sysfs_emit_at+0x64/0xd0
Modules linked in: qrtr smsdvb dvb_core
...
smsdvb_print_isdb_stats_ex+0x459/0x650 [smsdvb]
Здесь заметно, что ошибка исходно инициируется в sysfs_emit_at
, и вызывается функция smsdvb_print_isdb_stats_ex
, что указывает на проблемы в драйвере smsdvb
.
Применение (Application)
Чтобы справиться с данной ситуацией, можно рассмотреть следующие шаги:
-
Обновление и исправление драйверов: Прежде всего, убедитесь, что все драйверы и модули обновлены до последней версии. Это можно выполнять через менеджеры пакетов, например, командой
sudo apt update && sudo apt upgrade
. Это помогает уменьшить вероятность ошибок из-за конфликта с новыми версиями ядра. -
Проверка совместимости: Убедитесь, что используемое оборудование полностью совместимо с новой версией операционной системы или ядра. Если нет, возможно, потребуется обратиться к производителю за обновленным драйвером.
-
Оптимизация параметров ядра: Попробуйте оптимизировать параметры запуска ядра с учетом особенности вашего оборудования, например, через
grub
. Использование параметров, таких какnoacpi
илиnomodeset
, может помочь избежать конкретных проблем с энергоэффективностью и управлением графикой. -
Реализация специфических корректировок: Для снижения нагрузки на процессор и устранения ошибок в
sysfs_emit_at
попробуйте отключить или перезагрузить модули, связанные с цифровым видео, с помощью командmodprobe -r <module>
иmodprobe <module>
. Следует проявлять осторожность, так как это может временно нарушить работу некоторых функциональностей оборудования. -
Мониторинг и диагностика: Используйте инструменты мониторинга, такие как
top
,htop
, или специализированные утилиты для анализа загруженности системы и детектирования процессов, создающих наиболее высокую нагрузку. Определив проблемные точки, строкируйте их в первую очередь для исправления. -
Консультации с IT-специалистами: Если проблема не может быть решена самостоятельно, рекомендуется проконсультироваться с профессиональными IT-специалистами, обладающими опытом работы с вашей конфигурацией оборудования и программного обеспечения.
Следуя вышеуказанным рекомендациям, можно значительно снизить нагрузку на процессор и устранить ошибки, записываемые в системный журнал при использовании dvb-fe-tool --femon
. При необходимости, всегда есть возможность обратиться за поддержкой к сообществу Ubuntu или на специализированные форумы для поиска других решений и советов от экспертов.