应立即提升文件描述符限制:先临时执行ulimit -n 65535验证,再永久配置/etc/security/limits.conf中* soft/hard nofile/nproc为65535,最后调大内核参数fs.file-max与fs.nr_open至1048576。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您部署WorkBuddy后出现“连接数已达上限”类报错,或系统日志中频繁提示“too many open files”,则极可能因Linux内核对单进程/用户最大文件描述符数量限制过低所致。WorkBuddy在高并发IM消息处理、多平台Webhook监听及本地Agent任务调度过程中会持续创建套接字、日志句柄与临时文件,当总数突破默认1024限制时,将直接导致Claw连接中断、消息无法投递或任务执行失败。以下是解决此问题的步骤:
一、临时提升当前会话文件描述符限制
该方法仅对当前Shell会话及其派生进程生效,适用于快速验证问题是否由文件数限制引发,无需重启服务,但系统重启或会话退出后失效。
1、打开终端,执行命令查看当前软限制值:ulimit -n
2、若返回值为1024或更低,执行以下命令将软硬限制均设为65535:ulimit -n 65535
3、验证设置是否成功:ulimit -Sn 与 ulimit -Hn 应均显示65535
4、重新启动WorkBuddy客户端进程,观察Claw连接状态是否恢复稳定。
二、永久修改用户级文件描述符限制
通过PAM模块配置limits.conf,使所有以该用户身份登录的会话(包括systemd服务、SSH会话、GUI终端)均自动加载新限制,适用于WorkBuddy以普通用户或专用服务账户运行的场景。
1、使用root权限编辑limits配置文件:sudo vim /etc/security/limits.conf
2、在文件末尾新增四行,分别设置软硬限制的nofile与nproc参数:* soft nofile 65535
3、* hard nofile 65535
4、* soft nproc 65535
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
5、* hard nproc 65535
6、保存并退出编辑器,重启当前用户会话或重新登录系统。
7、再次执行
三、调整内核级全局参数以匹配高并发需求
当需长期支撑数百以上IM连接或大规模任务队列时,仅修改用户限制仍可能触发内核层面瓶颈。file-max定义系统可分配的总文件句柄数,nr_open则限制单个进程可申请的最大值,二者必须不低于目标nofile设定值,否则第二步配置将被内核拒绝。
1、检查当前内核参数:cat /proc/sys/fs/file-max 与 cat /proc/sys/fs/nr_open
2、若任一值小于65535,需修改/etc/sysctl.conf:sudo vim /etc/sysctl.conf
3、追加两行配置:fs.file-max = 1048576
4、fs.nr_open = 1048576
5、执行命令使配置立即生效:sudo sysctl -p
6、验证输出中两项数值均已更新为1048576,再执行第三步中的ulimit设置即可完全释放限制。









