弹性云服务器 ECS-fork失败,无法创建新的线程怎么办?:处理方法
处理方法
- 登录管理控制台。
- 通过E CS 的主机监控功能的“内存使用率”指标,查看云服务器内存使用情况确认云服务器内存情况,详细操作,请参见查看监控指标 。
- 以root用户登录云服务器,执行以下命令,排查message和dmesg日志。
- 执行以下命令,查看当前系统线程总数。
- 执行以下命令,将得到的两个值与步骤4查到的当前系统线程总数进行对比。
sysctl -a | grep pid_max
sysctl -a | grep threads-max
- 如果当前系统线程总数接近这两个值其中一个,那么就需要对这pid_max、threads-max这两个参数进行调优。调优步骤请参考调优pid_max、threads-max参数。
- 否则,执行步骤6。
- 执行以下命令,确定报错进程的pid。
- 执行以下命令,根据得到的pid检查该进程的limits配置:
图2 确定进程limits配置
- 查看Max processes行,如果当前用户创建的所有线程数接近该值,那么需要对limits参数进行调优,调优步骤请参考调优limits参数。
- 否则,执行步骤8。
- 执行以下命令,根据日志的cgroup报错可以得到pid_max、pids.current参数值。
cat /sys/fs/cgroup/pids/拼接日志中报错目录/pids.max
cat /sys/fs/cgroup/pids/拼接日志中报错目录/pids.current
图3 cgroup目录
示例如下:
- 执行以下命令,根据进程的pid查找对应的cgroup目录。
图4 根据pid查找对应的cgroup目录
返回结果中的pids行为“/user.slice/user-0.slice/session-5.scope/”,与/sys/fs/cgroup/pids/拼接,可得进程对应的cgroup目录为“/sys/fs/cgroup/pids/user.slice/user-0.slice/session-5.scope/”。
- 执行以下命令,根据得到的cgroup目录获取pid_max、pids.current参数值。
cat /sys/fs/cgroup/pids/user.slice/user-0.slice/session-5.scope/pids.max
cat /sys/fs/cgroup/pids/user.slice/user-0.slice/session-5.scope/pids.current
- 如果pids.current接近pids.max,那么需要对cgroup参数进行调优,调优步骤请参考调优cgroup参数。
- 否则,请提交工单联系技术支持处理。
- 执行以下命令,根据进程的pid查找对应的cgroup目录。
- 国内一年免费的云服务器推荐_云服务器哪家好用便宜_移动云服务器
- 云数据库TaurusDB_兼容MySQL
- 海外的云服务器_云服务器_虚拟主机和云服务器有什么区别
- RDS for MySQL数据库实例是什么_创建mysql实例步骤_如何创建RDS for MySQL数据库实例
- 云服务器搞活动_个人svn搭建服务器_服务器免费试用
- 企业云服务器_云服务器一年价格_云服务器哪家好用便宜
- 国内一年免费vps云服务器_国外云服务器厂商_云服务器哪家好用便宜
- 华为云服务器_企业云服务器租用费用_云服务器怎么使用
- 云服务器_一年免费的网站服务器有哪些_云服务器跟虚拟主机
- 0元一年的云服务器_云服务器哪家好用便宜_云服务器试用