Generated by Answer me with HTML 0.5.7 · 2026-10-23 09:56 · ★ Star on GitHub

你的运存占用拆解

总量 1708 MB,已用 1008 MB,大头不是 hy-memory

source实测 free · ps · /proc/smaps · 2026-10-23 09:57
结论
  • 第一名是 Hermes 网关:545 MB,占总量 32 %。
  • hy-memory 第二:161 MB,占 9.4 %。
  • 两者合计占已用内存的 70 %。
  • hy-memory 今天已被看门狗重启两次。
A

内存去向全景

网关 Hermes54530%页缓存49227%空闲37421%hy-memory1619%其他进程1307%内核 slab1056%1807
数据
数值占比
网关 Hermes54530%
页缓存49227%
空闲37421%
hy-memory1619%
其他进程1307%
内核 slab1056%
项目 占用 占总内存 能否回收
Hermes 网关 545 MB 31.9 % 否
页缓存 492 MB 28.8 % 可回收
空闲 374 MB 21.9 % —
hy-memory 161 MB 9.4 % 否
其他进程 130 MB 7.6 % 否
内核 slab 105 MB 6.1 % 72 MB 可回收
  • 页缓存不是真占用,需要时内核会交出来。
  • 可用余量 699 MB,现在没到紧张线。
B

网关这 545 MB 花在哪

进程 RSS
545 MB
匿名私有内存
531 MB
文件映射
19 MB
glibc 堆 [heap]
23 MB
线程数
40
运行时长
8.4 小时
峰值 VmHWM
549 MB
  • 匿名块 157 个,最大三块各 110 MB、53 MB、38 MB。
  • 堆只占 23 MB,说明大块分配走 mmap,不是连续堆。
  • 加载的库只有 aiohttp、yaml、pydantic,没有 numpy 或 pandas。
  • 40 个线程全部 idle,不是正在算,是留着的对象。
  • 峰值 549 MB 与当前 545 MB 只差 4 MB,不是快速泄漏。
C

C hy-memory 今天被重启两次

时间 触发 旧 RSS 重启后
03:05 达 350 MB 阈值 469 MB 90 MB
09:50 达 350 MB 阈值 372 MB 90 MB
现在 — 144 MB 冷启 5.9 分钟后
当前增速max 9.3 MB/分
阈值max 350 MB
今日重启次数max 2 次
  • 冷启 90 MB,五分钟涨到 144 MB,属于预热。
  • 之后进入平台期,但今天两次都冲到阈值。
  • 换 faiss 能省的那 81 MB,只够把它少触发一次。
D

真正能动的杠杆

页缓存 492MB不用管内核 slab 105MB网关 545MB加MALLOC_ARENA_MAX限制hy-memory 161MB换后端或降 l1_raw 条数
  • 网关环境没有设置 MALLOC_ARENA_MAX,40 线程各开 arena 造成碎片。
  • 设成 2 或 4 是唯一不改代码就能压网关 RSS 的手段,需要重启网关。
  • hy-memory 侧真正省内存的是降 l1_raw 条数,现有 1062 条原始层。
  • 换 faiss 省 81 MB,价值低于先压网关。