飞牛NAS必装:进程级资源监控,比自带强10倍,一眼看穿谁在偷吃你的CPU/内存/磁盘/网络全透视,带一键内存回收的监控面板

CPU/内存/磁盘/网络 + 进程排行 + 一键回收 + SMART/连接明细,Docker一键部署

飞牛 NAS 专属的轻量级系统资源监控面板 —— 一个 Docker 命令即可拥有媲美专业 NAS 监控的 Web 界面。


✨ 为什么选择 fnos-resmon?与飞牛自带的对比

飞牛自带的系统信息只能看到 CPU/内存占用率、存储卷用量等汇总数字:哪个进程在吃 CPU?哪块盘 SMART 告警了?哪个端口被谁占用了?一键能回收内存吗?这些它都做不到。fnos-resmon 正好补上这些短板:

能力 飞牛自带 fnos-resmon
CPU/内存占用率 ✅ 有 ✅ 有
进程级 CPU/内存排行 ❌ 无 ✅ 进程名/PID/用户/状态/线程数
内存 RSS/USS/SWAP 明细 ❌ 无 ✅ 三列细分
一键内存回收(drop caches) ❌ 无 ✅ 一键释放
一键结束异常进程 ❌ 无 ✅ 一键 kill
磁盘 SMART/温度/通电时间 ❌ 需命令行 ✅ Web 直观展示
TCP 连接明细/侦听端口 ❌ 无 ✅ 进程+地址+状态
网卡驱动/MTU/双工 ❌ 无 ✅ 有
表头排序/箭头指示 ❌ 无 ✅ 点击即排序
  • 🚀 一键部署:一条 docker run 启动,无需额外驱动
  • ⚡ 实时刷新:3 秒自动更新,数据实时
  • 📊 维度全面:CPU / 内存 / 磁盘 / 网络 四大面板,进程级明细
  • 🔍 进程级洞察:每个进程 CPU、内存、IO、连接数一目了然
  • 🧹 内存回收:一键 drop caches 释放可回收内存
  • 🔪 进程管理:一键结束异常进程
  • 📱 移动适配:响应式布局,手机也能看
  • 🐳 零侵入:Docker 容器运行,不修改系统文件

📸 功能截图

CPU

内存

磁盘

网络


📋 功能清单

CPU 监控

  • CPU 型号、架构、物理/逻辑核数
  • 实时 CPU 占用率、负载(1/5/15 分钟)
  • 每核心频率与占用率可视化
  • L1/L2/L3 缓存信息
  • 进程 CPU 占用排行(TOP N)

内存监控

  • 内存占用率、已用/总共/可用
  • SWAP 使用情况
  • 物理内存槽位详情(容量、类型、频率、厂商)
  • 进程 RSS / USS / SWAP 明细
  • 一键回收可回收内存(drop caches)

磁盘监控

  • 挂载点使用率、读写累计
  • 物理硬盘 SMART 健康状态
  • 硬盘温度、通电时间、坏道重映射
  • 阵列拓扑展示

网络监控

  • 实时上传/下载速率、累计收发量
  • 连接数统计
  • TCP 连接明细表(进程、本地/远程地址、状态)
  • 侦听端口表
  • 网卡信息(IP、MAC、速率、双工、MTU、驱动)

🚀 快速开始

方式一:Docker 运行(推荐,必须带齐参数,否则数据不准)

docker run -d --name fnos-resmon \
  --network host --pid host --privileged --restart unless-stopped \
  -e PORT=7031 -e PROCFS_PATH=/host/proc \
  -v /proc:/host/proc:rw -v /sys:/host/sys:ro \
  jpccr.ccs.tencentyun.com/jinghui/fnos-resmon:latest

启动后浏览器访问 http://你的NASIP:7031 即可。

方式二:Docker Compose 部署

仓库内已带 docker-compose.yml(参数与方式一完全一致,开箱即用):

services:
  fnos-resmon:
    image: jpccr.ccs.tencentyun.com/jinghui/fnos-resmon:latest
    container_name: fnos-resmon
    network_mode: host
    pid: host
    restart: unless-stopped
    environment:
      - PORT=7031
      - PROCFS_PATH=/host/proc
      - SITE_VERSION=1.3.18
      - HUB_URL=https://auth.88531.cn/api
      - HUB_PROJECT_ID=12
      - HUB_KEY_FILE=/run/secrets/hub_key
      - PERF_FILE=/run/secrets/perf_mode.json
    privileged: true
    volumes:
      - /proc:/host/proc:rw
      - /sys:/host/sys:ro
      - /root/.fnos_resmon_hub_key:/run/secrets/hub_key:ro
      - /root/.fnos_resmon_perf.json:/run/secrets/perf_mode.json:rw
docker compose up -d
# 更新:docker compose pull && docker compose up -d

注意:network_mode: host+pid: host+privileged: true三项不可删,删了就看不到宿主真实数据(详见下方注意事项)。

⚠️ 部署注意事项(必看,少一个参数就少一块数据)

  • 三个缺一不可:--network host(看宿主真实网卡/流量)+ --pid host(看宿主全部进程)+ --privileged(调频/一键优化/传感器写入)。README 旧版简化命令缺了前两个,照抄会只能看到容器自身,直接用上面这条完整命令。
  • 两个挂载不能少:-v /proc:/host/proc:rw + -v /sys:/host/sys:ro,并配合 -e PROCFS_PATH=/host/proc,CPU/内存/磁盘/温度全靠它们读宿主。
  • host 网络下 -p 7031:7031 无效:端口即 7031(可用 -e PORT= 改),访问 http://NAS_IP:7031。
  • 缺参数的现象(对照排查):进程只有几个/看不到宿主进程=缺 --pid host;网速/连接数是容器视角=缺 --network host;省电/性能切换报"调频接口不可写"、一键优化失败=缺 --privileged 或宿主无 cpufreq(虚拟机/VPS 无此文件属正常,监控不受影响)。
  • CPU 调频前提:物理机+主板/BIOS 暴露 cpufreq(amd-pstate/intel_pstate/acpi)+ --privileged。虚拟机、部分 VPS、只读 /sys 会失败开放:提示错误但不影响监控。
  • 硬件型号栏是构建时快照:硬盘型号/序列号/SMART、内存条颗粒、网卡型号/网关是镜像构建那台机器的快照;换机器部署后实时占用/流量/温度是本机的,但型号字样还是旧机器的。想要型号也对:在新机器上 docker build 一份即可,实时数据不受影响。
  • 性能模式记忆(可选):想重启后记住上次的省电/上限档,加 -e PERF_FILE=/run/secrets/perf_mode.json -v /root/.fnos_resmon_perf.json:/run/secrets/perf_mode.json:rw。
  • 更新:docker pull jpccr.ccs.tencentyun.com/jinghui/fnos-resmon:latest && docker rm -f fnos-resmon 后用上面完整命令重建;也可用仓库内 docker-compose.yml(已带齐全部参数)docker compose up -d。

🛠️ 技术栈

组件 技术选型
后端框架 Flask (Python)
前端 纯 HTML/CSS/JS(无额外依赖)
数据采集 psutil、smartctl、/proc 文件系统
容器化 Docker

📦 下载

资源 地址
Docker 镜像 jpccr.ccs.tencentyun.com/jinghui/fnos-resmon:latest
Gitea 仓库 https://gitea.88531.cn/jinghui/fnos-resmon

欢迎 Issue 和 PR!


🔗 链接

S
Description
飞牛资源管理器:CPU/内存/磁盘/网络四页签,读取宿主真实数据
Readme
7.8 MiB
0 Stars 1 Watchers 0 Forks
2026-11-08 01:40:39 +08:00
Languages
Python 52.8%
HTML 46.9%
Dockerfile 0.3%