JVM线程相关参数:优化并发性能的关键配置
一、线程栈相关参数 1.1 -Xss:线程栈大小 # 默认值(不同平台不同) # Linux/macOS:1MB # Windows:根据虚拟内存 # 设置线程栈大小 -Xss512k # 设置为512KB -Xss1m # 设置为1MB(推荐) -Xss2m # 设置为2MB 作用: 控制每个线程的栈内存大小 栈用于存储局部变量、方法调用链 调优建议: // ❌ 栈太小:StackOverflowError -Xss128k // 递归深度受限 // ❌ 栈太大:可创建线程数少 -Xss10m // 内存浪费,线程数受限 // ✅ 推荐配置 -Xss1m // 平衡性能和内存 计算可创建线程数: 最大线程数 = (最大进程内存 - JVM堆内存 - JVM非堆内存) / 线程栈大小 例如: - 最大进程内存:4GB - JVM堆内存:2GB - JVM非堆内存:512MB - 线程栈大小:1MB 最大线程数 = (4GB - 2GB - 512MB) / 1MB ≈ 1536个线程 二、锁优化相关参数 2.1 偏向锁 # 启用偏向锁(JDK 8默认启用) -XX:+UseBiasedLocking # 禁用偏向锁 -XX:-UseBiasedLocking # 偏向锁延迟启动时间(默认4秒) -XX:BiasedLockingStartupDelay=0 # 立即启用 偏向锁原理: ...