Question htop ne renvoie pas l'utilisation du processeur ou de la mémoire !?


je pense que Haut est une excellente application pour surveiller un système Linux. Je l'aime vraiment, mais Haut ne semble pas si bon sur Mac. Je sais que Mac a un moniteur système pour le faire, mais je préfère utiliser un terminal.

J'ai installé htop en exécutant:

brew install htop.

Voici à quoi cela ressemble:

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)

Le problème est que les deux CPU et MEM ne retournent pas les valeurs réelles de l'un ou l'autre sur mon système.

Quelqu'un d'autre a-t-il vécu cela? Ou, quelqu'un pourrait-il me diriger dans la bonne direction?


79
2017-09-22 15:54


origine




Réponses:


J'ai le même problème alors je vérifie la recette.

$ brew edit htop

Ensuite, je vérifie cette partie de la recette:

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

Alors tapez simplement sudo htop et vous allez voir CPU et MEM.


93
2018-01-01 00:34



Vous pouvez utiliser brew info htop pour voir le contenu des mises en garde - A B
Ceci est utile pour ceux qui ont également installé des macports. pour moi, je ne sais pas pourquoi, mais sudo htop n'a pas fonctionné htop a été installé dans /bin, donc je cdJ'étais là et a couru chmod 6555 htop && sudo chown root htop. À présent htop fonctionne bien - Brian McCutchon
@AB plus, ils l'ont changé. - Dalibor Filus
Cette solution permet à tout utilisateur de tuer tout processus utilisateur (ou racine). Y a-t-il un moyen de permettre à htop de lis CPU et MEM sans lui permettre de modifier le système? - Max
Si vous voulez modifier htoppartout où il est installé, utilisez chmod 6555 "$(which htop)" - BallpointBen


De mon info de brassage:

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

Cela a fonctionné pour s'assurer que je n'ai pas besoin de lancer htop en tant que sudo


19
2017-11-05 15:52





Voici une alternative pour ceux qui ne veulent pas gâcher les autorisations et éviter de taper sudo htop de préférence à juste htop:

  1. Installer avec l'infusion: brew install htop
  2. Permettre sudo htop exécuter sans mot de passe sudo
    1. Courir sudo visudo ouvrir le fichier sudoers dans un éditeur
    2. Ajoutez ceci au fichier de configuration: %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. Enregistrez le fichier et quittez (:wq probablement)
  3. Ajoutez l'alias suivant à votre fichier shell shell (exemple: ~/.bashrc ou ~/.profile): alias htop='sudo htop'

6
2017-07-02 22:58





Notez que pour que les dernières versions de htop fonctionnent correctement sous OS X, il ne suffit pas de "bénir" htop avec chmod 6555 htop et sudo chown htop - pendant que htop fonctionnera, la sortie différera entre htop et sudo htop.

Voici une capture d'écran de l'instance "bed" htop, invoquée comme htop:

enter image description here

et voici une photo en cours d'exécution comme sudo htop:

enter image description here

Comme vous pouvez le voir, le non-sudo-invoqué htop affiche beaucoup moins d'informations.

La réponse correcte a été présentée par @Sukima; il faut malheureusement alias htop à sudo htop. Pour les utilisateurs en ligne de commande, taper le mot de passe à l’invite est une seconde nature et je pense que la plupart d’entre nous oublient de lancer htop comme sudo c'est le problème plutôt que d'être obligé de taper le mot de passe. Je déconseille fortement de permettre sudo htop pour exécuter sans invite de mot de passe, mais si vous souhaitez le faire, la meilleure approche consiste à autoriser un utilisateur unique à lancer htop (et uniquement htop) sans mot de passe (bien que cette vulnérabilité soit énorme car htop est puissant et extensible et peut exécuter des commandes externes, ce qui signifie que quiconque exécute htop comme sudo peut faire n'importe quoi):

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

0
2017-08-02 15:39