如何在个人网站上展示Minecraft服务器的内存与CPU占用情况
Minecraft服务器资源占用数据网站展示实现方案
第一步:服务端指标采集
- 若你用Linux系统跑MC服务端,可直接用轻量命令行指令采集目标指标,无需部署重型监控栈:
- 内存占用可通过
ps -eo %mem,cmd | grep [j]ava | grep minecraft过滤MC对应Java进程的内存占比,也可直接读取/proc/<MC进程PID>/status文件中的VmRSS字段获取精确内存占用数值 - CPU占用可通过
ps -eo %cpu,cmd | grep [j]ava | grep minecraft直接提取,也可执行top -b -n 1 -p <MC进程PID>获取更精准的实时使用率
- 内存占用可通过
- 若你用Windows系统跑MC服务端,可执行PowerShell命令
Get-Process -Name java | Where-Object {$_.CommandLine -match "minecraft"} | Select-Object CPU,WorkingSet采集对应指标 - 用你熟悉的脚本语言(Shell/Python/NodeJS均可)写定时采集逻辑,间隔1-5分钟执行一次,把采集到的时间戳、CPU使用率、内存占用值存入本地JSON文件或SQLite这类轻量数据库即可。
第二步:数据对接个人网站
- 如果MC服务端和个人网站部署在同一台机器,直接让网站后端读取本地存储的监控数据即可,省去跨机器同步步骤
- 如果两者部署在不同机器,可在个人网站后端加一个简单的指标接收接口,MC服务端的采集脚本定时把新采集到的指标推送到该接口,接口加简单的密钥校验避免恶意请求,验证通过后把数据存入网站自身的数据库即可。
第三步:前端可视化展示
- 前端调用网站后端的查询接口,拉取实时/历史指标数据,用可视化库渲染为折线图即可,可自行配置展示的时间范围,比如最近24小时、最近7天的资源占用趋势
- 如果需要实时刷新效果,给前端加个定时器,每隔30秒到1分钟拉一次最新指标即可,个人站点用轮询完全能满足需求,不需要额外配置WebSocket。
可选扩展
- 可额外加进程存活状态采集逻辑,顺便在页面展示MC服务器当前的在线/离线状态
- 如果想展示更多MC专属指标,比如在线玩家数、服务端TPS,可给MC服务端装对应插件(Spigot/Paper端可使用专门的监控类插件),插件会把相关指标写入本地文件或开放本地查询端口,采集脚本直接读取对应数据即可。
内容的提问来源于stack exchange,提问作者Toggl3Combo
相关产品推荐
相关产品推荐

