hermes agent v0.19.0内存飙高需立即调优:关闭预加载轨迹模块(修改trajectory_compression.yaml和注释trajectorymanager导入)、清空轨迹缓存;强制qdrant启用on_disk_payload和scalarquantization以降低内存占用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Hermes Agent v0.19.0安装后内存持续飙高、系统响应变慢甚至触发OOM Killer,说明默认配置未适配你的硬件环境,必须立即调整轨迹缓存、向量库加载方式与运行时并发策略。
收紧轨迹缓存并关闭预加载
轨迹模块在v0.19.0中默认启用全量驻留,单次会话可能占用1.1GB内存,低配设备极易崩溃。禁用该模块可跳过启动时的内存映射加载,立减基础开销。
第一步:打开config/trajectory_compression.yaml,将enabled: true改为enabled: false。
第二步:编辑main.py,找到from tools.trajectory_manager import TrajectoryManager这一行,整行注释掉(加#前缀)。
第三步:执行rm -rf ~/.hermes/config/trajectory_cache/,彻底清除残留的缓存目录结构。
【注意】这一步不可逆——关闭后将无法回溯多步推理过程,但能确保v0.19.0在1GB VPS上稳定启动。
强制Qdrant使用磁盘后端与量化
本地Qdrant若仍以全内存模式运行,向量索引峰值可达2.4GB,远超v0.19.0默认资源预算。必须启用on_disk_payload并叠加标量量化,否则优化无效。
方法一:修改向量存储初始化代码
定位agent/vector_store.py第87行附近的QdrantVectorStore(调用,在括号内插入两个参数:on_disk_payload=True, quantization_config=ScalarQuantization()。
方法二:重置向量库状态
执行sudo systemctl stop hermes-agent → rm -rf /var/lib/qdrant/storage/* → 重启服务。这会清空旧索引并强制重建为量化格式。
验证是否生效:启动后检查docker stats或ps aux --sort=-%mem | head -5,Qdrant进程内存应稳定在
限制并发与精简缓存字符上限
v0.19.0默认允许3个并发会话+5个后台任务队列,单核CPU根本无法调度,线程堆积直接拖垮内存。必须从代码层硬性设限。
进入tools/memory_tool.py,修改两处数值:
将memory_char_limit = 2000改为memory_char_limit = 1200;
将user_char_limit = 1500改为user_char_limit = 750。
接着打开environments/default.yaml,在concurrency:区块下添加三行:max_sessions: 1task_queue_size: 3thread_pool_size: 2
这组参数专为v0.19.0的调度器逻辑校准过,过高会导致GC频繁,过低则吞吐归零。
切换为轻量日志并禁用非核心插件
v0.19.0新增的监控插件和记忆索引模块默认常驻内存,且不支持热卸载。必须从配置源头禁用,否则任何缓存优化都白做。
编辑config.yaml,在plugins:区块下添加:- monitoring- memory_indexer
并在同一文件的logging:区块中设置level: WARNING,关闭INFO级日志输出。
再打开skills_hub.py,找到包含"monitoring"和"memory_index"的register_skill调用行,全部注释掉。
最后执行hermes cleanup --temp,清掉v0.19.0升级后残留的旧版插件缓存文件。











