У меня проблемы, когда Сервер Xorg внезапно становится очень медленным, и его загрузка ЦП достигает 100% . Гугл об этом говорит о том, что «отладочный» метод для этой проблемы состоит в том, чтобы случайным образом убивать X-клиентов, пока проблема не исчезнет, а затем вы узнаете, какой из них был проблемным (удачи в попытке отладить процесс после его уничтожения) , Ни один из клиентов X не потребляет много ЦП (около 1% ЦП каждый). И система все еще имеет 2 ГБ доступной оперативной памяти.
Кто-нибудь знает метод для лучшей диагностики проблемы? В основном я ищу top
замену для Xorg, которая напрямую указала бы мне на клиентский процесс, который вызывает наибольшую загрузку ЦП для Xorg. Я уже знаю о xrestop
, что то же самое для использования памяти Xorg, но этот вопрос конкретно об использовании процессора.
Еще одной причиной этого замедления может быть нехватка памяти графического процессора, что может привести к передаче растровых изображений по шине PCI-express вместо рендеринга непосредственно из памяти графического процессора для отображения. Если это показывает использование ЦП на уровне ядра (например, top
), возможно, это проблема, с которой я сталкиваюсь, но я хотел бы лучше понять причину. Когда я пишу это из проблемной системы, кажется, что наибольшее замедление происходит при обработке ввода или рендеринге шрифта, но я не знаю, как лучше это диагностировать.
Я знаю, что возможно использовать другой компьютер и подключиться к ssh
, присоединить процесс gdb
к проблемному серверу Xorg и начать копать, но я надеюсь, что что-то немного проще.
Если бы я получил PID или даже дескриптор окна для проблемного клиента, выяснить основную причину было бы проще (например, https://unix.stackexchange.com/q/5478). И мне не нужно было бы убивать процессы с хорошим поведением в качестве побочного эффекта.