Иногда emacs будет использовать 100% ресурсов процессора. Очевидно, что когда это происходит, возникает проблема с безудержным процессом.
Просто интересно, есть ли способ просмотреть все запущенные процессы в Emacs?
Вроде как unix htop, интерактивный системный монитор процессов и просмотрщик ... htop
list-processes
?list-processes
илиproced
не имеет значения). Единственный процесс, который вас волнует, - это (единственный) процесс emacs, и вы пытаетесь выяснить, почему он использует так много процессорного времени и / или памяти. Для этого вам нужно использовать профилировщик emacs.Ответы:
Вопрос был задан в 2016 году. Сейчас в 2019 году существует
M-x proced
:источник
M-x proced-toggle-auto-update
в своемproced
буфереtop
аналогичное поведение с автоматическим обновлением буфера (по умолчанию каждые 5 секунд).В дополнение к другим ответам, оригинальный постер может рассмотреть возможность использования встроенной функции профилирования : https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html.
Чтобы начать профилирование, введите
M-x profiler-start
. Вы можете выбрать профиль по использованию процессора, использованию памяти или обоим. Сделав некоторую работу, введите,M-x profiler-report
чтобы отобразить сводный буфер для каждого ресурса, который вы выбрали для профилирования. Имена буферов отчета включают в себя время, когда отчеты были сгенерированы, так что вы можете создать другой отчет позже, не стирая предыдущие результаты. Когда вы закончите профилирование, напечатайтеM-x profiler-stop
(есть небольшие накладные расходы, связанные с профилированием).См. Ссылку выше на руководство для получения дополнительной информации об этой функции.
источник
Вы можете проверить
list-processes
:Кажется, что он пропускает множество функций, которые вам нужны, но с небольшим количеством кода вы можете получить желаемые результаты (если вы это сделаете, пожалуйста, присылайте ваши патчи в апстрим, я иногда хотел бы увидеть эту функцию в Emacs.) Это говорит: Я не мог найти лучших готовых кандидатов на вашу проблему.
источник
Проверьте шлем руля. Он перечисляет все, что вы хотите, и имеет действия для отправки сигналов процессам.
источник
Мне нравится htop, поэтому я также использую его в emacs. Однако интерактивная часть не работает таким образом.
источник