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 htopCPUMEMが表示されます


18
あなたは使用することができますbrew info htop注意事項の内容を確認するために
AB

4
これは、macportsでインストールしたユーザーにも役立ちます。私にとっては、理由はわかりませんが、sudo htopうまくいきませんでした。htopがインストールされていた/binので、cdそこに行って走りましたchmod 6555 htop && sudo chown root htop。今、htop正常に動作します。
ブライアンマックラッチン14

1
@ABはもう変更していません。
ダリボルFilus

4
このソリューションにより、すべてのユーザーが他のユーザー(またはルート)のプロセスを強制終了できます。htop がシステムを変更することを許可せずにCPUとMEM を読み取ることを許可する方法はありますか?
マックス

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

これにより、htopをsudoとして実行する必要がなくなりました。


6

以下は、許可をいじりたくなくてもsudo htop、単に好みに合わせて入力することを避けたい人のための代替案ですhtop

  1. brewでインストール: 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のを「祝福」するのに十分ではないことに注意してくださいchmod 6555 htopsudo chown htop-ホテルトップを実行する一方で、出力が間異なりますhtopsudo htop

以下は、「祝福された」htopインスタンスのスクリーンショットですhtop

ここに画像の説明を入力してください

そして、これは次のように実行されている写真ですsudo htop

ここに画像の説明を入力してください

ご覧のとおり、非sudoで呼び出さhtopれた場合、表示される情報は大幅に少なくなります。

正しい答えは@Sukimaによって提示されました。残念ながらにエイリアスhtopする必要がありsudo htopます。コマンドラインユーザーにとって、プロンプトでパスワードを入力することは第二の性質であり、私たちのほとんどにとって、パスワードを入力するのではhtopなく問題であるsudoとして起動することを忘れていると思います。sudo htopパスワードプロンプトなしで実行することを許可しないことを強くお勧めしますが、実行する場合は、単一の名前付きユーザーがパスワードなしでhtop(およびhtopのみ)を起動できるようにすることをお勧めします(ただし、これは大きな脆弱性です) htopは強力で拡張可能であり、外部コマンドを実行できるため、sudoとしてhtopを実行するユーザーは何でも実行できます)。

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.