rust tokio 库在linux下面默认创建超过1000个线程就出错,故障现象是你的逻辑代码压根就没有执行,就看到大量的线程任务瞬间完成,在反复尝试后发现这是因为一个linux默认配置参数造成的,在控制台执行:
ulimit -n
以root用户执行以上命令,会输出1024,解决方法是:
ulimit -HSn 10240
可以将这个设置为开机启动的时候自动执行,如写在/etc/profile里面,或者你程序的启动脚本里面,或者干脆在执行启动你的rust tokio程序的时候先执行一下这个命令也行。