写在前面
本文隶属于专栏《100个问题搞定Java并发》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和文献引用请见100个问题搞定Java并发
解答
几千个,具体的与计算机本身性能和 JVM 配置有关。
比如可以使用-Xmx标志增加JVM的最大内存分配,可以使用-Xss标记减少每个线程栈分配的内存大小。
补充
JVM 常用调优参数
参数
说明
补充
-Xms
初始堆内存大小,默认物理内存64/1
-Xms = -XX:InitialHeapSize
-Xmx
最大堆内存,默认物理内存4/1
-Xmx = -XX:MaxHeapSize
-Xss
栈内存大小,设置单个线程栈大小,一般默认512~1024kb。单个线程栈大小跟操作系统和JDK版本都有关系
-Xss = -XX:ThreadStackSize
-Xmn
年轻代大小
-XX:MetaspaceSize
元空间大小
元空间本质跟永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代最大的区别在于:元空间并不在虚拟机中,而是使用本机内存。因此,元空间大小仅受本地内存限制。
-XX:+PrintGCDetails
打印GC详细日志信息
-XX:SurvivorRatio
幸存者比例设置
-XX:NewRatio
新生代比例设置
-XX:MaxTenuringThreshold
进入老年代阈值设置
关于 JVM 的详细内容请参考我的另一个专栏 《100个问题搞定Java虚拟机》