修改内存
# vim ~/developer/soft/apache-jmeter-5.4.3/bin/jmeter
JVM_ARGS="-Xms24g -Xmx24g"
配置测试机操作系统参数
测试的服务建议使用Linux操作系统
# vim /etc/sysctl.conf
fs.aio-max-nr = 3145728
fs.file-max = 6553560
kernel.core_pattern= /var/log/corefiles/core_%e_%u_%t_%s.%p
kernel.sem = 4096 2147483647 2147483646 512000
kernel.shmall = 7549747 # 该值为kernel.shmmax除以4096
kernel.shmmax = 30923764531 # 该值为内存总数的90%
kernel.shmmni = 819200
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 819200
net.ipv4.tcp_keepalive_intvl = 20
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 262144
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.nf_conntrack_max = 1200000
net.netfilter.nf_conntrack_max = 1200000
vm.max_map_count=200000 # 必须修改此参数,否则JMeter会无法达到测试需要的线程数
vm.dirty_background_ratio = 10
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 95
vm.dirty_writeback_centisecs = 100
vm.extra_free_kbytes = 4096000
vm.min_free_kbytes = 2097152
vm.mmap_min_addr = 65536
vm.overcommit_memory = 0
vm.overcommit_ratio = 90
vm.swappiness = 0
vm.zone_reclaim_mode = 0
net.ipv4.ip_local_port_range = 30000 65535
注:临时修改max_map_count参数方式
echo 999999 > /proc/sys/vm/max_map_count
一些错误
1、Linux下运行JMeter的UI错误
Uncaught Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.FileDialoger in thread Thread[AWT-EventQueue-0,6,main]. See log file for details.
原因:这是由于在Linux下有一些UI皮肤不存在而产生的错误
解决:尽可能使用系统UI配置
Options -> Look And Feel -> System