- Вопрос или проблема
- ОБНОВЛЕНИЕ (2018-04-17)
- Ответ или решение
- 1. Введение в проблему
- 2. Возможные причины высокой загрузки
- 2.1. Конфликт с драйверами
- 2.2. Неправильная конфигурация Konsole
- 3. Использование команды --nofork
- 4. Рекомендации по дальнейшим действиям
- 4.1. Проверьте обновления системы
- 4.2. Журнал системных ошибок
- 4.3. Использование альтернативных терминалов
- Заключение
Вопрос или проблема
Я использую KDE Neon LTS 5.12, и иногда, по какой-то неизвестной причине, я наблюдаю высокую загрузку процессора, исходящую от запущенных терминалов konsole через kdeinit5.
Каждый терминал не имеет окна и использует примерно до 17% процессора. Поскольку я не знаю, почему это происходит, иногда я вижу один, два или четыре терминала (17% * 4 = 68% загрузки процессора) с одинаковым описанием: konsole [kdeinit5]
.
Показано, что я пользователь, который их запустил, но я не знаю, что я делаю, чтобы это произошло.
Если я пытаюсь [Перейти к родительскому процессу]
в контекстном меню, оно перенаправляет меня к очевидному процессу kdeinit5: Запущен...
.
Я проверял форумы, но пока не нашел решения.
ОБНОВЛЕНИЕ (2018-04-17)
Я все еще тестирую, я уже установил ту же дистрибуцию с почти теми же параметрами на ноутбук, с только одной разницей: не устанавливал драйвера Nvidia, как мой настольный компьютер (основной ПК, использованный в этом посте), так и ноутбук используют графические процессоры Nvidia.
По какой-то причине (снова) кажется, что все работает идеально, без оставшихся процессов в фоне инициализации новых.
Очевидно, есть потеря производительности, которую можно немного восстановить, установив композер на Xrender
, но даже…
Сообщается о какой-либо ошибке, связанной с этим? Я пробовал другие дистрибутивы, но не так много, чтобы сказать, воспроизводится ли эта ошибка и в них.
Буду продолжать тестирование.
Это не решение, а обходное решение.
После обновления с Kubuntu 14.04 до 16.04 у меня появилась та же проблема, с единственным отличием, что konsole
занимал целое ядро (25%) при закрытии. Также в дереве процессов можно было видеть, как один процесс завершался, снова появлялся под systemd
и затем зависал…
Я изменил запускатель Konsole (KMenu->Правый клик->Изменить приложения…->Вкладка: Приложение) на следующую команду:
konsole --nofork &
Так что, как я понимаю, я прошу konsole
не выполнять форк, вместо этого форк происходит с &
. До сих пор (примерно 1 час) все кажется работающим, как и ожидалось.
Мне интересно, есть ли настоящее исправление для этой проблемы – но пока я экономлю одно ядро.
Ответ или решение
Проблема, с которой вы столкнулись, связана с высокой загрузкой процессора, вызванной фоновыми процессами консоли Konsole, запущенными через kdeinit5 в системе KDE Neon LTS 5.12. Давайте рассмотрим основные аспекты решения данной проблемы.
1. Введение в проблему
Запуск процессов Konsole через kdeinit5, как вы заметили, приводит к увеличению нагрузки на процессор, что может вызывать замедление работы системы и ухудшение пользовательского опыта. Причины подобного поведения могут быть разнообразными, от ошибок в конфигурации до проблем с графическими драйверами, особенно если учесть вашу установку Nvidia.
2. Возможные причины высокой загрузки
2.1. Конфликт с драйверами
Вы упомянули о возможной связи между установленными драйверами Nvidia и возникшими проблемами. В некоторых случаях драйверы могут не полностью поддерживать определённые функции KDE, что приводит к некорректной работе системы. Рекомендуется проверить совместимость используемых вами драйверов с вашей версией ядра и видеокарты.
2.2. Неправильная конфигурация Konsole
Проблема также может заключаться в конфигурации самой программы Konsole. Она может запускать фоновый процесс, даже если это не требуется. Ваше решение изменить команду запуска Konsole с помощью параметра --nofork
, чтобы предотвратить создание новых процессов, выглядит как разумный подход к частичному устранению проблемы. Этот подход позволяет избежать создания множества фоновый процессов при запуске.
3. Использование команды --nofork
Ваше решение изменить команду запуска на konsole --nofork &
позволяет вам контролировать поведение программы. Это изменение указывает на то, что Konsole не будет создавать новые процессы для каждого сеанса, что положительно сказывается на загруженности системы. Поскольку вы заметили улучшение после изменения конфигурации, это может быть временным решением, но важно также продолжать искать коренную причину проблемы.
4. Рекомендации по дальнейшим действиям
4.1. Проверьте обновления системы
Убедитесь, что все пакеты вашей системы обновлены до последних версий, включая KDE Plasma и драйверы Nvidia. Это может помочь устранить известные ошибки и улучшить стабильность.
4.2. Журнал системных ошибок
Обратите внимание на журналы системных ошибок, такие как journalctl
и dmesg
, чтобы выявить возможные проблемы с запуском Konsole или kdeinit5. Эти журналы могут содержать полезную информацию о том, что именно происходит в системе во время возникновения проблемы.
4.3. Использование альтернативных терминалов
Если проблема сохраняется, рассмотрите возможность использования других терминальных эмиттеров, таких как xterm
или tilix
, которые могут быть более стабильны в вашей конфигурации.
Заключение
Применение параметра --nofork
в сочетании с обновлением драйверов и мониторингом журналов системы поможет вам справиться с проблемами высокой загрузки CPU от процессов, связанных с консолью Konsole. Несмотря на то что вы нашли обходной путь, рекомендуется провести более углублённое исследование для выявления основной причины проблемы для предотвращения её повторения в будущем.