EsgynDB Troubleshooting - ERROR[2012] Server process tdm_arkesp could not becreated

现象 某环境由于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进程。

    推荐阅读