htop 没有返回 CPU 或内存使用情况!?

Yua*_* He 80 terminal htop macos

我认为top是监控 Linux 系统的绝佳应用程序。我真的很喜欢它,但是top在 Mac 上看起来不太好。我知道 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)
Run Code Online (Sandbox Code Playgroud)

问题是CPUMEM都没有在我的系统上返回任何一个的实际值。

有没有其他人经历过这种情况?或者,有人能指出我正确的方向吗?

小智 92

我有同样的问题,所以我检查了食谱。

$ brew edit htop
Run Code Online (Sandbox Code Playgroud)

然后我检查食谱的这一部分:

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
Run Code Online (Sandbox Code Playgroud)

所以只要输入sudo htop,你就会看到CPUMEM

  • 您可以使用 `brew info htop` 来查看警告内容 (19认同)
  • 这对那些安装了 macports 的人也很有帮助;对我来说,我不知道为什么,但是 `sudo htop` 没有用。`htop` 安装在 `/bin` 中,所以我在那里 `cd` 并运行 `chmod 6555 htop &amp;&amp; sudo chown root htop`。现在`htop` 工作正常。 (4认同)
  • 此解决方案允许任何用户终止任何其他用户(或 root 用户)的进程。有没有办法允许 htop *读取 * CPU 和 MEM 而不允许它修改系统? (4认同)

小智 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
Run Code Online (Sandbox Code Playgroud)

这有助于确保我不需要以 sudo 身份运行 htop


Suk*_*ima 6

这里是为那些不想与权限渣土,仍然避免打字谁的替代sudo htop优先于刚htop

  1. 使用 brew 安装: brew install htop
  2. 允许sudo htop在没有 sudo 密码的情况下运行
    1. 运行sudo visudo以在编辑器中打开 sudoers 文件
    2. 将此添加到配置文件中: %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. 保存文件并退出(:wq最有可能)
  3. 将以下别名添加到您的 shell rc 文件(例如 for~/.bashrc~/.profile): alias htop='sudo htop'