现象 某环境由于ESP进程启动过多,导致SQL执行报错,报错信息为:
ERROR[2012] Server process tdm_arkesp could not be created on xxx- Operating system error 4022, TPCError = 31, error detail = 0. Insufficient buffer space.
分析 问题原因:
esp是由monitor启动的,而monitor启动的进程总数是有限制的,是由内部的宏MAX_PROCESSES限制的,这个值是2048,目前这个值在代码中是硬编码的,外部无法修改。
monitor启动的进程数超过这个值时,就会报2012错误,同时,monitor日志中会打印 [CExtNewProcReq::performRequest], Unsuccessful, MAX_PROCESSES limit!
解决 【EsgynDB Troubleshooting - ERROR[2012] Server process tdm_arkesp could not becreated】由于代码中对进程个数有硬性限制,需要考虑kill部分进程,如ESP进程。
推荐阅读
- Oracle数据库|Oracle系统案例——学生信息管理系统
- database|17@MySQL数据库读现象详解(脏读、幻读、不可重复读)
- MySQL|MySQL相关知识【索引, 锁, 事务...】(个人总结)
- 别再说你不会Mysql|《别再说你不会Mysql了》之“数据库和数据表的基本操作”
- 数据库|MySQL锁机制【MySQL高级篇5】
- 数据库|MongoDB+集成SpringBoot+索引+并发优化 - 基于《MongoDB进阶与实战(唐卓章》)
- 读书笔记|【读书笔记】 mysql是怎么运行的
- 笔记|MySql数据库修改密码【详细教程】
- 数据库相关|Mysql数据查询优化——索引优化