Gelegentlich werden Emacs 100% der CPU-Auslastung treffen. Offensichtlich liegt in diesem Fall ein Problem mit einem außer Kontrolle geratenen Prozess vor.
Sie fragen sich nur, ob es eine Möglichkeit gibt, alle laufenden Prozesse in Emacs anzuzeigen?
Ein bisschen wie Unix HTOP, der interaktive Systemprozessmonitor und -viewer ... HTOP
list-processes
?list-processes
oderproced
irrelevant). Der einzige Prozess, den Sie interessieren, ist der (einzelne) Emacs-Prozess selbst, und Sie versuchen herauszufinden, warum er so viel CPU-Zeit und / oder Speicher beansprucht. Dazu benötigen Sie den Emacs-Profiler.Antworten:
Die Frage wurde im Jahr 2016 gestellt. Jetzt im Jahr 2019 gibt es
M-x proced
:quelle
M-x proced-toggle-auto-update
Ihrenproced
Puffer möglicherweise für eintop
ähnliches Verhalten mit automatischer Pufferaktualisierung aktivieren möchten (standardmäßig alle 5 Sekunden).Zusätzlich zu den anderen Antworten sollte das Originalposter möglicherweise die Verwendung der integrierten Profilerstellungsfunktion in Betracht ziehen : https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html
Geben Sie ein, um mit der Profilerstellung zu beginnen
M-x profiler-start
. Sie können ein Profil nach Prozessorauslastung, Speicherauslastung oder beidem erstellen. Nachdem Sie einige Arbeiten ausgeführt haben, geben Sie einM-x profiler-report
, um einen Zusammenfassungspuffer für jede Ressource anzuzeigen, die Sie zum Profilieren ausgewählt haben. Die Namen der Berichtspuffer enthalten die Zeitpunkte, zu denen die Berichte erstellt wurden, sodass Sie später einen weiteren Bericht erstellen können, ohne vorherige Ergebnisse zu löschen. Wenn Sie die Profilerstellung abgeschlossen haben, geben Sie Folgendes einM-x profiler-stop
(mit der Profilerstellung ist ein geringer Overhead verbunden).Weitere Informationen zu dieser Funktion finden Sie unter dem obigen Link zum Handbuch.
quelle
Vielleicht möchten Sie überprüfen
list-processes
:Es scheint viele Funktionen zu vermissen, die Sie benötigen, aber mit ein wenig Codierung erhalten Sie möglicherweise die gewünschten Ergebnisse (wenn Sie dies tun, senden Sie bitte Ihre Patches in den Originalautoren, ich würde diese Funktion gelegentlich gerne in Emacs sehen.) Ich konnte keine besseren Kandidaten für Ihr Problem finden.
quelle
Schauen Sie sich das Helm-Top an. Es listet alle gewünschten Elemente auf und verfügt über Aktionen zum Senden von Signalen an die Prozesse.
quelle
Ich mag htop und benutze es auch in Emacs. Der interaktive Teil funktioniert jedoch nicht so.
quelle