因为性能测试规模较大,需要使用很多台slave,考虑到批量部署linux下用脚本更方便点,就采用了mster机器使用windows,slave用Linux的架构。再使用linux做压力机的过程中遇到了2个问题,记录一下问题及解决方式。
当使用线程数很大时,slave会报错java.lang.OutOfMemoryError
刚看到这个问题时,以为是内存配置问题,调整很久之后,还是一直报错。
然后试了调整线程数看多少线程才会这样,最终定位至线程数超过4000时就会报错。
linux内使用ulimit -a
命令查找出来问题所在:max user processes 值与4000及其相近,尝试调整此值。
修改文件/etc/security/limits.d/20-nproc.conf
,将4096加大至40960,然后退出重新登录进入linux,ulimit -a
查看修改生效。
<