Czasami emacs osiągnie 100% użycie procesora. Oczywiście, kiedy to nastąpi, pojawia się problem z niekontrolowanym procesem.
Zastanawiasz się tylko, czy istnieje sposób, aby wyświetlić wszystkie uruchomione procesy w emacs?
Coś jak unix htop, monitor proces interaktywny system i widz ... htop
list-processes
?list-processes
lubproced
nieistotności). Jedynym procesem, na którym Ci zależy, jest sam proces emacsa (pojedynczy) i próbujesz dowiedzieć się, dlaczego zużywa on tak dużo czasu procesora i / lub pamięci. W tym celu musisz użyć profilera emacs.Odpowiedzi:
Pytanie zadano w 2016 r. Teraz w 2019 r. Istnieją
M-x proced
:źródło
M-x proced-toggle-auto-update
wproced
buforzetop
podobne zachowanie z automatyczną aktualizacją bufora (domyślnie co 5 sekund).Oprócz innych odpowiedzi oryginalny plakat może rozważyć użycie wbudowanej funkcji profilowania : https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html
Aby rozpocząć profilowanie, wpisz
M-x profiler-start
. Możesz wybrać profilowanie według użycia procesora, pamięci lub obu. Po wykonaniu pracy wpisz,M-x profiler-report
aby wyświetlić bufor podsumowania dla każdego zasobu, który wybrałeś do profilowania. Nazwy buforów raportów obejmują godziny, w których raporty zostały wygenerowane, dzięki czemu można później wygenerować kolejny raport bez usuwania poprzednich wyników. Po zakończeniu profilowania wpiszM-x profiler-stop
(z profilowaniem wiąże się niewielki narzut).Zobacz powyższy link do instrukcji, aby uzyskać dodatkowe informacje dotyczące tej funkcji.
źródło
Możesz sprawdzić
list-processes
:Wygląda na to, że brakuje wielu potrzebnych funkcji, ale przy odrobinie kodowania możesz uzyskać pożądane wyniki (jeśli to zrobisz, prześlij swoje łatki wcześniej, czasami chciałbym zobaczyć tę funkcję w Emacsie). Nie mogłem znaleźć lepszych, gotowych kandydatów na twój problem.
źródło
Sprawdź górę hełmu. Zawiera listę wszystkich potrzebnych rzeczy i ma działania służące do wysyłania sygnałów do procesów.
źródło
Lubię htop, więc używam go również w emacsie. Jednak część interaktywna nie działa w ten sposób.
źródło