RRRosmontis
|
c7f3f4496a
|
fix(memlog): 按映射类型拆分 RSS,并记录 cgroup 内存构成
原分类把 [heap] 当成非匿名区域,导致会话中主 arena(brk 堆)的增长被漏报:
实测 9/21 会话 RSS 涨到 2474 MB 而"匿名区域"仅 193 MB,误判为已无增长。
- 把 [heap]、[anon...]、无名映射统一计入匿名 RSS,并单独记录 heap_rss_mb
- 新增 cg_anon_mb / cg_file_mb / cg_kernel_mb / cg_shmem_mb(memory.stat)
- 新增 top_named:按 RSS 排序的前三个文件映射,便于识别异常消费者
|
2026-09-21 08:12:49 +08:00 |
|
RRRosmontis
|
636ecbd974
|
feat: 增加内存观测日志
- bin/maa-online-memlog: 每分钟采集一次服务 cgroup 匿名内存、swap 占用、进程 RSS、
以及大于 32 MB 的匿名映射数量(glibc arena 膨胀指纹),追加写入 logs/memlog.csv,
超过 5 MB 自动滚动并保留一代;同时输出一行到 journald
- systemd/maa-online-memlog.service, maa-online-memlog.timer: 每分钟触发采集,
Nice=10 避免影响流媒体负载
- bin/maa-online-install-systemd: 安装并启用观测定时器,安装提示补充内存日志路径
- README.md, user_config/README.md: 补充内存观测说明、字段表与查看命令
- .gitignore: 忽略运行期产生的 logs/
|
2026-09-20 13:07:19 +08:00 |
|
RRRosmontis
|
7806524279
|
feat: 增加每日内存回收与 malloc arena 限制
流媒体会话会在 glibc malloc arena 中留下大量不归还操作系统的冷匿名内存,实测单个
服务可累积到 2.5 GB 并占满整个 swap 文件(33 个 64/128 MB 匿名段,空闲时不增长,
随会话单调抬升)。本次从根因与兜底两侧处理:
- systemd/maa-online-server.service: 设置 MALLOC_ARENA_MAX=2,把线程 arena 数量
从 8xCPU 压到 2,抑制 arena 膨胀
- systemd/maa-daily.service: 单元结束时经 ExecStopPost 重启 API 服务,回收当次会话残留
- systemd/maa-online-recycle.service, maa-online-recycle.timer: 新增每日 03:59(游戏
每日刷新前)独立回收定时器,错开更新与日常任务窗口,Persistent=false 避免补跑撞车
- bin/maa-online-can-recycle: 回收守卫,检测日常任务(systemd 单元或手工运行)是否
进行中,是则跳过回收,避免重启打断任务
- bin/maa-online-install-systemd: 安装并启用新增的回收单元
- README.md, user_config/README.md: 补充内存回收机制与定时器说明
|
2026-09-19 23:58:54 +08:00 |
|
RRRosmontis
|
0264053b08
|
feat: 增加 systemd 定时执行与断点续跑
- backend/server.py: 信令 WebSocket 被远端关闭或视频流停滞超过阈值时自动拆除会话,
由 finally 释放网易云端实例,避免会话空挂、后续 /start 一直拿到 503
- bin/maa-online-daily-run: 新增日常任务包装脚本,等待 API 就绪、启动云游戏、
停滞看门狗(连续 ScreencapFailed 或 Disconnected)、失败即释放云会话并最多重试 3 次
- bin/maa-resume-tasks.py: 新增断点续跑规划器,重试时只运行未出现 Completed 的任务,
全部完成则直接判定成功,不再开启新会话;StartUp 永不跳过
- systemd/: 新增 server/daily/update 服务与定时器模板,每天 04:00 起随机 0-2 小时执行
- bin/maa-online-install-systemd: 渲染 __ROOT__ 并安装、启用上述单元
- README.md, user_config/README.md: 补充自动定时执行、断点续跑与已知限制说明
- .gitignore: 忽略生成的 config/tasks/daily-resume.toml
|
2026-09-19 16:45:48 +08:00 |
|
RRRosmontis
|
de064272ec
|
feat: publish sanitized Linux cloud-game MAA adapter
|
2026-09-16 11:11:35 +08:00 |
|