it-swarm.com.de

htop liefert keine CPU- oder Speicherauslastung zurück !?

Ich denke, dass top eine großartige Anwendung ist, um ein Linux-System zu überwachen. Ich mag es wirklich, aber top sieht auf einem Mac nicht so gut aus. Ich weiß, dass Mac über einen Systemmonitor verfügt, bevorzuge jedoch die Verwendung eines Terminals.

Ich habe htop mit folgendem Befehl installiert:

brew install htop.

So sieht es aus:

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)

Das Problem ist, dass sowohl CPU als auch MEM nicht ' t die realen Werte von einem auf meinem System zurückgeben.

Hat das noch jemand erlebt? Oder könnte mich jemand in die richtige Richtung weisen?

79
Yuan He

Ich habe das gleiche Problem, also überprüfe ich das Rezept.

$ brew edit htop

Dann überprüfe ich diesen Teil des Rezepts:

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

Geben Sie einfach Sudo htop ein und Sie sehen CPU und MEM.

92
matiskay

Aus meiner Brauinfo:

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

Dies stellte sicher, dass ich htop nicht als Sudo ausführen muss

19
Ivan Suftin

Hier ist eine Alternative für diejenigen, die nicht mit den Berechtigungen herumspielen und trotzdem vermeiden möchten, Sudo htop anstelle von nur htop einzugeben:

  1. Installieren Sie mit Brew: brew install htop
  2. Sudo htop ohne Sudo-Passwort ausführen lassen
    1. Führen Sie Sudo visudo aus, um die sudoers-Datei in einem Editor zu öffnen
    2. Fügen Sie dies zur Konfigurationsdatei hinzu: %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. Datei speichern und beenden (:wq höchstwahrscheinlich)
  3. Fügen Sie der Shell-RC-Datei den folgenden Alias ​​hinzu (Beispiel für ~/.bashrc oder ~/.profile): alias htop='Sudo htop'
6
Sukima

Beachten Sie, dass es für die neuesten Versionen von htop unter OS X nicht ausreicht, htop mit chmod 6555 htop und Sudo chown htop zu "segnen" - während htop ausgeführt wird, unterscheidet sich die Ausgabe zwischen htop und Sudo htop.

Hier ist ein Screenshot der "gesegneten" htop-Instanz, die als htop aufgerufen wird:

enter image description here

und hier ist ein Bild davon als Sudo htop:

enter image description here

Wie Sie sehen, zeigt der nicht von Sudo aufgerufene htop deutlich weniger Informationen an.

Die richtige Antwort wurde von @Sukima präsentiert; es ist leider erforderlich, htop an Sudo htop zu aliasen. Für Befehlszeilenbenutzer ist das Eingeben des Kennworts an der Eingabeaufforderung eine Selbstverständlichkeit, und ich denke, für die meisten von uns ist es das Problem, htop als Sudo zu starten, anstatt das Kennwort eingeben zu müssen. Ich rate dringend davon ab, die Ausführung von Sudo htop ohne Kennwort-Eingabeaufforderung zuzulassen. Wenn Sie dies jedoch möchten, ist es am besten, einem einzelnen, benannten Benutzer das Starten von htop (und nur von htop) ohne Kennwort zu erlauben (obwohl dies ein riesiger Vorgang ist) Sicherheitslücke, da htop mächtig und erweiterbar ist und externe Befehle ausführen kann, was bedeutet, wer htop als Sudo ausführt, kann alles):

Sudo visudo
# add the line below somewhere in the editor
YOURUSERNAME ALL=(ALL) NOPASSWD: /usr/local/bin/htop
# save and exit
0