好的,与此同时,我弄清楚了:
- 确保阅读Dmriti T的帖子
- 将Java的stacksize设置为较小的值-通常最小的值就足够了。就我而言,为200k(另请参阅第4点)。
- 增加sysctl.conf 中打开文件 的最大 数量 (请参见第4点)
- 增加堆大小-但由于jmeter将创建很多线程,也为线程在OS级别上需要的内存留出了足够的空间(因此,新线程在OS和Java堆上需要内存-因此也为os留有足够的内存)(请参阅下面)
- 更新
limits.conf
(请参见下文) - 更新sysctl.conf文件(如下所示)
/etc/security/limits.conf
sysctl.conf* hard nofile 900000* soft nofile 900000root hard nofile 900000root soft nofile 900000
/etc/sysctl.conf
kernel.pid_max=999999kernel.thread-max=999999vm.max_map_count=999999fs.file-max=999999
注意:是pid _ max和thread-max
jmeter.sh / jmeter.bat您将在
/bin/jmeter安装文件夹中找到这些文件。
在Linux下添加行
JVM_ARGS="-Xmx15g -Xss250k"
最后一行中实际Java调用之前的某处。这将减少分配给每个线程的堆栈大小。
在Windows下,您必须编辑jmeter.bat。我没有在Windows下配置它,但至少关于堆应该以开头
setHEAP。我不知道
-Xss在Windows下将参数放在哪里。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)