监视器的两张实时图表:青色的近三分钟 CPU 负载,以及青色与粉色的网络下载和上传曲线,背景近乎全黑。

案例研究 Personal project

一个本地系统监视器,告诉你程序正把数据发往哪里。

客户
Personal project
类型
系统工具
角色
设计与开发
年份
2026

一个为 Linux 打造的个人系统监视器:一个 Python 采样引擎,背后支撑两种界面——全屏终端仪表盘和本地网页,涵盖 CPU、内存、磁盘、网络、进程,以及每个程序当前打开的活动连接。

想知道电脑此刻在做什么,通常要在 top、ss、df 和桌面系统监视器之间来回切换。没有哪一个能在同一处回答:是哪个程序在占用机器,它的每条连接又在和谁通信。

一个小巧的采样引擎,两副面孔。共享的采集器用 psutil 读取整个系统,终端仪表盘和网页渲染的是同一份快照。它只在被调用时运行:没有守护进程,没有后台服务,Web 服务器只监听 localhost。

实际构建了什么

  1. 01

    基于 psutil 的共享采集器:按核心的 CPU、内存与交换区、磁盘用量与 I/O、网络速率、所有进程和所有已建立的连接,汇总为一份快照。

  2. 02

    基于 Rich 的终端仪表盘:全屏实时视图,可用键盘按 CPU 或内存排序,另有单次快照模式和可选的 JSON Lines 日志。

  3. 03

    基于 Python 标准库 HTTP 服务器的 Web 界面,只绑定 localhost:采样线程保留约三分钟的历史,页面轮询单一 JSON 接口,并有一个按钮可关闭服务器。

  4. 04

    没有任何依赖、也无需构建步骤的前端,用原生 HTML、CSS 和 JavaScript 编写:用 conic gradient 绘制的仪表、手写的 SVG 图表、可搜索可排序的表格、浅色与深色主题,反向 DNS 在后台解析,任何查询都不会阻塞刷新。

技术

  • Python
  • psutil
  • Rich
  • JavaScript
  • HTML
  • CSS
  • SVG

一个可用的个人工具,在 Linux 本地按需启动运行。尚未打包或发布。

下一个项目The ChefThe Chef Churrascaria Recife · 餐厅网站与点餐系统