社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

GitHub 9.2k Star,一个颜值和实力都在线的跨平台监视器

Java知音 • 1 周前 • 97 次点击  

 

我现在电脑上常年开着的东西不少。IDEA 一直开着,里面跑着两三个 Java 服务,MySQL 在后台挂着,Chrome 七八个标签页也没关过。最近又多了 Codex 这类 AI 工具要跑,Python 环境那边也时不时在运行点东西。

这些东西全堆在一台机器上,后果就是风扇隔三差五狂转,机器说卡就卡。每次卡住,我第一反应就是想知道到底是谁在占资源。macOS 自带的活动监视器我也用了很多年,但说实话那个界面我一直喜欢不起来,数据全挤在一起,进程列表密密麻麻,想找个东西得翻半天。

前几天刷 GitHub 的时候翻到 NeoHtop 这个项目,9.2k Star,一个开源的系统监控工具。我装上用了一下午,然后把活动监视器从我的 Dock 里挪走了,这玩意是真好用,今天把它介绍给大家。

NeoHtop 是什么

NeoHtop 是一个跨平台的系统监控工具,听名字就知道,它是冲着 htop 去的。后端用的是 Rust 和 Tauri,界面用的是 Svelte,macOS、Linux、Windows 三个平台都支持,MIT 协议,免费用,随便用。

和我们熟悉的终端版 htop 不一样,NeoHtop 是一个正经的桌面应用,有图形界面的那种。打开一个窗口,上面是 CPU、内存、磁盘、网络这些实时数据,下面是完整的进程列表。定位上有点像 macOS 活动监视器的替代品,但界面好看很多,功能也比它全。

除了桌面版,作者最近还做了一个终端版本,叫 neohtop-cli,用 Go 写的,风格接近 btop,这个我放到文章后面单独说。

功能详情

系统资源占用监控

窗口最上面是一排卡片,把机器的整体状态都摆出来了。CPU 这块会按核心一个一个显示占用率,几个核在干活、几个核在摸鱼,看得很清楚。内存有总量和已用量,磁盘能看到剩余空间,网络是实时的收发速度。系统运行了多长时间、负载是多少,也都在这一排上面。

我平时需要盯资源的时候,打开这个窗口扫一眼就行了,不用像在活动监视器里那样切来切去。数据默认一秒刷新一次,刷新的间隔可以自己调,也可以直接暂停。

进程搜索功能

进程多了以后,搜索功能就很重要了。NeoHtop 的搜索框支持按进程名、命令、PID 去搜,这个和大部分工具差不多。比较好用的是它支持正则表达式,比如我们输入 d$,就能把所有守护进程都筛出来。用逗号隔开的话,还能同时搜好几个关键词。

机器上跑着几百个进程的时候,靠滚动条找东西基本不现实,有这个搜索能省不少事。搜索条件还能和状态筛选配合着用,只看正在运行的,或者只看睡眠状态的,都行。

进程管理功能

进程列表的每一行右边有三个按钮,分别是置顶、查看详情、杀掉进程。

置顶这个我用得比较多。我本地跑服务的时候,会把 IDEA 和起的那几个 Java 进程置顶,它们就会一直排在列表最上面,不用每次都重新搜一遍。遇到卡死的进程,点一下那个叉就直接杀掉了,不用再去开终端记 kill 命令加 PID,省一步是一步。

列表还支持按任意一列排序,点一下 CPU% 这一列,最吃资源的进程就排到最前面了,谁有问题一眼能看到。

界面主题

界面有十几套主题,默认是暗色的。说实话这个界面做得确实不错,不像很多开源工具那样,功能堆完就不管长成什么样了。

终端版本 neohtop-cli

如果不想开图形界面,或者要在服务器上用,可以装它的终端版 neohtop-cli。

这个终端版是用 Go 加 Charm 那套生态做的,界面风格接近 btop。CPU 每个核心的走势图、内存占用条、进程树视图这些都有,搜索同样支持正则,还能把匹配到的部分高亮出来。

主题这块它内置了 15 套,Catppuccin、Dracula、Tokyo Night 这些常见的都在里面,按一下 t 键就能切换。

也很方便,但是我更喜欢它的桌面端,大家可以自由选择。

快速开始

桌面版最简单的安装方式,是去 GitHub 的 Releases 页面下载对应系统的安装包,下完直接装就行。

习惯用包管理器的话也可以,macOS 上用 Homebrew:

brew install --cask neohtop

Windows 上用 Scoop:

scoop bucket add extras
scoop install extras/neohtop

有一点要注意,系统里有些进程是需要管理员权限才能看到的。我们在 Mac 上想监控全部进程的话,得用 sudo 的方式来启动:

sudo /Applications/NeoHtop.app/Contents/MacOS/NeoHtop

终端版装起来更简单,有 Node 环境的话,npm 一行命令就装好了:

npm install -g neohtop-cli

装完以后在终端里敲 neohtop-cli 就能打开,macOS、Linux、Windows 都可以用。

适合什么人用

我自己用得最多的场景,就是机器发烫、风扇起飞的时候,打开看一眼是谁在捣乱。结果每次都差不多,要么是 Chrome 的某个标签页跑飞了,要么是哪个编译任务没收住,还有就是哪个软件关掉了,后台还在给我跑,然后强制退出。

平时跑本地大模型、跑 docker 容器、本地起一堆微服务的时候,拿它盯着内存也挺合适。哪个服务的内存一直在涨,心里能有个数,不至于等到机器卡死才发现问题。

服务器上没有图形界面,这种情况就用 neohtop-cli,SSH 连上去敲个命令,整台机器的状态就出来了。

我的看法

说实话,系统监控这个赛道现在很挤,btop、htop、glances 这些老家伙一个比一个能打,NeoHtop 想在里头占个位置,没那么容易。

我用下来觉得它主要赢在两个地方,一个是界面确实好看,而且装完不用配置任何东西,打开就能用,这一点对大部分人都很重要。另一个是它把桌面版和终端版拆成了两个东西,想用哪个装哪个,不用在一个终端工具里硬找一个能看的界面。

有不太好的地方,功能深度上它跟 btop 比还差一截,比如 GPU 监控它就没有,网络那块也只有简单的收发数据,看不到更细的东西。所以我现在的情况是,Mac 上日常用它替掉活动监视器,真要去服务器上排查性能问题的时候,我还是会换回 btop。

总结下来就是一句话:如果你想要一个好看的、装上就能用的系统监控工具,NeoHtop 值得装一个试试。如果你想玩深度的性能分析,它目前还差点意思。#系统监控 #开源

开源地址

桌面版:

https://github.com/Abdenasser/neohtop

终端版:

https://github.com/Abdenasser/neohtop-cli

 

点击下方卡片,关注Java知音

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/199481