emacs에 프로세스 뷰어 (리소스 관리자) 또는 이와 동등한 것이 있습니까?


14

때때로 emacs는 100 % CPU 사용량에 도달합니다. 분명히 이런 일이 발생하면 런 어웨이 프로세스에 문제가 있습니다.

emacs에서 실행중인 모든 프로세스를 볼 수있는 방법이 있는지 궁금하십니까?

종류의 유닉스 htop처럼 대화 형 시스템 프로세스 모니터 및 뷰어 ... htop


3
list-processes?
npostavs

@npostavs 감사합니다. 목록 프로세스가 좋습니다. 그러나 메모리 및 CPU 사용량을 포함한 리소스에 대한 자세한 정보를 제공하는 것이 있는지 궁금합니다.
orion

2
내가 생각할 수있는 유일한 것은 프로파일 링입니다 : gnu.org/software/emacs/manual/html_node/elisp/Profiling.html
lawlist

3
법률가가 옳습니다. 프로세스 뷰어를 찾고 있다고 생각하지 않습니다 (만들 list-processes거나 proced관련이 없음). 관심있는 유일한 프로세스는 (단일) emacs 프로세스 자체이며, 왜 그렇게 많은 CPU 시간 및 / 또는 메모리를 활용하는지 알아 내려고 노력하고 있습니다. 이를 위해서는 emacs 프로파일 러를 사용해야합니다.
phils

답변:


11

질문은 2016 년에 제기되었습니다. 현재 2019 년에는 다음이 있습니다 M-x proced.

시스템 프로세스를 표시하고 신호를 보내는 모드입니다.

Proced는 현재 시스템 프로세스 목록을 포함하는 Emacs 버퍼를 만듭니다. 일반적인 Emacs 명령을 사용하여이 버퍼에서 이동할 수 있으며, 특수한 Proced 명령을 사용하여 나열된 프로세스에서 작동 할 수 있습니다. proced-mode시작하기를 참조하십시오 .


활성화 할 수 있습니다 M-x proced-toggle-auto-update당신에 procedA에 대한 버퍼 top(기본적으로 5 초마다) 자동 버퍼 업데이트와 -처럼 행동.
Pierre Thalamy 2014 년

10

다른 답변 외에도 원본 포스터는 내장 프로파일 링 기능 사용을 고려할 수 있습니다. https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html

프로파일 링을 시작하려면을 입력하십시오 M-x profiler-start. 프로세서 사용량, 메모리 사용량 또는 둘 다로 프로파일 링하도록 선택할 수 있습니다. 일부 작업을 수행 한 후 M-x profiler-report프로파일 링하도록 선택한 각 자원에 대한 요약 버퍼를 표시하려면 입력하십시오 . 보고서 버퍼의 이름에는 보고서가 생성 된 시간이 포함되므로 나중에 이전 결과를 지우지 않고 다른 보고서를 생성 할 수 있습니다. 프로파일 링이 끝나면 입력하십시오 M-x profiler-stop(프로파일 링과 관련하여 약간의 오버 헤드가 있음).

이 기능에 대한 자세한 내용은 위의 설명서 링크를 참조하십시오.


7

당신은 확인할 수 있습니다 list-processes:

list-processes' simple.el' 의 대화식 컴파일 된 Lisp 함수입니다 .

(list-processes &optional QUERY-ONLY BUFFER)

Emacs 서브 프로세스 인 모든 프로세스의 목록을 표시하십시오. 선택적 인수 QUERY-ONLY가 0이 아닌 경우 query-on-exit플래그가 설정된 프로세스 만 나열됩니다.
종료 또는 신호로 표시된 프로세스는 리스팅이 작성된 후 실제로 제거됩니다.
선택적 인수 BUFFER는 " *Process List*" 대신 사용할 버퍼를 지정합니다 . 반환 값은 항상 nil입니다.

이 기능은 Emacs가 시작한 프로세스 만 나열합니다. 시스템에서 실행중인 다른 프로세스를 보려면 ' list-system-processes'를 사용하십시오 .

필요한 많은 기능이 누락 된 것 같지만 약간의 코딩으로 원하는 결과를 얻을 수 있습니다 (그렇다면 패치를 업스트림으로 보내십시오. 이맥스에서 때때로이 기능을보고 싶습니다). 귀하의 문제에 대한 더 나은 기성품 후보를 찾을 수 없었습니다.


6

조타 장치를 확인하십시오. 원하는 모든 것을 나열하고 프로세스에 신호를 전송하는 조치가 있습니다.


5

나는 htop을 좋아해서 emacs에서도 사용한다. 그러나 대화식 부분은 이런 식으로 작동하지 않습니다.

(defun htop ()
  (interactive)
  (if (get-buffer "*htop*")
      (switch-to-buffer "*htop*")
    (ansi-term "/bin/bash" "htop")   
    (comint-send-string "*htop*" "htop\n")))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.