htop이 CPU 또는 메모리 사용량을 반환하지 않습니다!?


80

나는 top 이 Linux 시스템을 모니터링하는 훌륭한 응용 프로그램 이라고 생각합니다 . 정말 마음에 들지만 Mac에서는 top 이 잘 보이지 않습니다. Mac에는 시스템 모니터가 있지만 터미널 사용을 선호합니다.

다음 을 실행하여 htop 을 설치 했습니다.

brew install htop.

다음과 같은 모습입니다.

PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
    1 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (launchd)
   10 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (kextd)
   11 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (UserEventAgent)
   12 65         0   0     0     0     0 ?  0.0  0.0  0:00.00 (mDNSResponder)

문제는 CPUMEM 모두 내 시스템에서 실제 값을 반환하지 않는다는 것입니다.

다른 사람이 이것을 경험 했습니까? 아니면 어떤 사람이 올바른 방향으로 나를 가리킬 수 있습니까?

답변:


92

나는 같은 문제가 있으므로 조리법을 확인하십시오.

$ brew edit htop

그런 다음 레시피 의이 부분을 확인하십시오.

def caveats; <<-EOS.undent
    For htop to display correctly all running processes, it needs to run as root.
    If you don't want to `sudo htop` every time, change the owner and permissions:
    cd #{bin}
    chmod 6555 htop
    sudo chown root htop
EOS

입력 sudo htop하면 CPUMEM이 표시 됩니다.


18
brew info htop경고 내용을 보는 데 사용할 수 있습니다
AB

4
이것은 macports를 설치 한 사람들에게도 도움이됩니다. 나를 위해, 나는 이유를 모르겠지만 sudo htop작동하지 않았습니다. htop에 설치되어 /bin있었기 때문에 나는 cd달려 갔다 chmod 6555 htop && sudo chown root htop. 이제 htop잘 작동합니다.
Brian McCutchon

1
@AB는 더 이상 바뀌지 않았습니다.
Dalibor Filus

4
이 솔루션을 사용하면 모든 사용자가 다른 사용자 (또는 루트) 프로세스를 종료 할 수 있습니다. htop 이 시스템을 수정하지 않고 CPU와 MEM 을 읽을 수 있도록하는 방법이 있습니까?
Max

htop설치 위치 를 수정 하려면chmod 6555 "$(which htop)"
BallpointBen

20

내 맥주 정보에서 :

You can either run the program via `sudo` or set the setuid bit:

  sudo chown root:wheel /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

  sudo chmod u+s /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

이것은 내가 sudo로 htop을 실행할 필요가 없도록하기 위해 일했습니다.


6

다음은 권한으로 뭉개고 싶지 않고 여전히 sudo htop선호하는 입력 을 피하려는 사람들을위한 대안입니다 htop.

  1. 추출로 설치 : brew install htop
  2. sudo htopsudo 비밀번호없이 실행하도록 허용
    1. sudo visudo편집기에서 sudoers 파일을 열려면 실행하십시오.
    2. 이것을 설정 파일에 추가하십시오 : %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. 파일을 저장하고 종료하십시오 ( :wq대부분)
  3. 쉘 rc 파일에 다음 별명을 추가하십시오 (예 : ~/.bashrc또는 ~/.profile). alias htop='sudo htop'

0

제대로 OS X에서 작동 할 수 htop의 최신 버전이 참고가 함께 htop을 "축복"하기에 충분하지 않습니다 chmod 6555 htopsudo chown htophtop 실행할 때, 출력 사이의 차이 것입니다 - htopsudo htop.

다음은 "축복 된"htop 인스턴스의 스크린 샷입니다 htop.

여기에 이미지 설명을 입력하십시오

다음은 실행중인 사진입니다 sudo htop.

여기에 이미지 설명을 입력하십시오

보시다시피, sudo를 호출하지 않은 htop정보는 훨씬 적은 정보를 표시합니다.

정답은 @Sukima에 의해 제시되었습니다. 불행하게도에 별칭 htop을 지정해야 sudo htop합니다. 명령 줄 사용자의 경우 프롬프트에서 암호를 입력하는 것이 두 번째 특성이며 대부분의 htop경우 암호를 입력하는 것이 아니라 sudo 로 시작 하는 것을 잊어 버린다고 생각합니다. sudo htop암호 프롬프트없이 실행하는 것을 강력히 권장 하지만, 그렇게하려면 가장 좋은 방법은 명명 된 단일 사용자가 암호없이 htop (및 유일한 htop)을 시작하도록하는 것입니다 (이것은 큰 취약점이지만) htop은 강력하고 확장 가능하며 외부 명령을 실행할 수 있기 때문에 sudo를 실행하면 sudo가 무엇이든 할 수 있습니다.

sudo visudo
# add the line below somewhere in the editor
YOURUSERNAME ALL=(ALL) NOPASSWD: /usr/local/bin/htop
# save and exit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.