Emacs'ın işlem görüntüleyicisi (kaynak yöneticisi) veya eşdeğeri var mı?


14

Zaman zaman emacs% 100 cpu kullanımı vuracaktır. Açıkçası bu gerçekleştiğinde kaçak bir işlemle ilgili bir sorun vardır.

Sadece emacs çalışan tüm işlemleri görüntülemek için bir yol olup olmadığını merak?

Unix htop gibi, interaktif sistem süreç monitörü ve görüntüleyici ... htop


3
list-processes?
npostavs

@npostavs teşekkürler. liste süreçleri iyidir. Ancak bellek ve işlemci kullanımı da dahil olmak üzere kaynaklar hakkında daha fazla bilgi sağlayan bir şey olup olmadığını merak ediyorum
orion


3
hukukçu haklı. Hiç bir süreç görüntüleyici aradığınıza inanmıyorum (yapma list-processesveya procedalakasız). Önem verdiğiniz tek işlem (tek) emacs işleminin kendisidir ve neden bu kadar çok CPU zamanı ve / veya bellek kullandığını bulmaya çalışıyorsunuz. Bunun için emacs profiler kullanmanız gerekir.
phils

Yanıtlar:


11

Soru 2016'da soruldu. Şimdi 2019'da var M-x proced:

Sistem süreçlerini görüntüleme ve bunlara sinyal gönderme modu.

Yordam, geçerli sistem işlemlerinin bir listesini içeren bir Emacs tamponu yapar. Bu arabellekte hareket etmek için normal Emacs komutlarını ve listelenen işlemler üzerinde çalışmak için özel Yordam komutlarını kullanabilirsiniz. proced-modeBaşlamak için bakın .


Otomatik arabellek güncellemesiyle (varsayılan olarak her 5 saniyede bir) benzer bir davranış M-x proced-toggle-auto-updateiçin procedara belleğinizde etkinleştirmek isteyebileceğinizi unutmayın top.
Pierre Thalamy

10

Diğer yanıtlara ek olarak, orijinal poster yerleşik profil oluşturma özelliğini kullanmayı düşünebilir : https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html

Profil oluşturmaya başlamak için yazın M-x profiler-start. İşlemci kullanımı, bellek kullanımı veya her ikisine göre profil oluşturmayı seçebilirsiniz. Biraz iş yaptıktan sonra, M-x profiler-reportprofil için seçtiğiniz her kaynak için bir özet arabelleği görüntülemek üzere yazın. Rapor arabelleklerinin adları raporların oluşturulduğu zamanları içerir, böylece daha önce önceki sonuçları silmeden başka bir rapor oluşturabilirsiniz. Profil oluşturmayı bitirdiğinizde yazın M-x profiler-stop(profil oluşturma ile ilişkili küçük bir ek yük vardır).

Bu özellikle ilgili ek ayrıntılar için yukarıdaki kılavuza bakın.


7

Kontrol etmek isteyebilirsiniz list-processes:

list-processes' simple.el' içinde etkileşimli derlenmiş Lisp işlevidir .

(list-processes &optional QUERY-ONLY BUFFER)

Emacs alt işlemleri olan tüm işlemlerin bir listesini görüntüler. İsteğe bağlı bağımsız değişken QUERY-ONLYsıfır değilse , yalnızca query-on-exitbayrak ayarlı işlemler listelenir.
Çıktı veya işaretli olarak listelenen herhangi bir işlem, liste yapıldıktan sonra elimine edilir.
İsteğe bağlı bağımsız değişken BUFFER, " *Process List*" yerine kullanılacak bir arabellek belirtir . Dönüş değeri daima nil.

Bu işlev yalnızca Emacs tarafından başlatılan işlemleri listeler. Sistemde çalışan diğer işlemleri görmek için ' list-system-processes' tuşunu kullanın .

İhtiyacınız olan birçok özelliği kaçırıyor gibi görünüyor, ancak biraz kodlama ile istediğiniz sonuçları alabilirsiniz (eğer bunu yaparsanız, lütfen yamalarınızı yukarı doğru gönderin, zaman zaman Emacs'ta bu özelliği görmek isterim.) Sorununa daha iyi hazır adaylar bulamadım.


6

Dümen tepesine bakın. İstediğiniz her şeyi listeler ve süreçlere sinyal göndermek için eylemleri vardır.


5

Htop'u seviyorum ve bu yüzden emacs da kullanıyorum. Ancak etkileşimli kısım bu şekilde çalışmaz.

(defun htop ()
  (interactive)
  (if (get-buffer "*htop*")
      (switch-to-buffer "*htop*")
    (ansi-term "/bin/bash" "htop")   
    (comint-send-string "*htop*" "htop\n")))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.