idea - run - editconfiguration

添加vm options选项

选择vm options(中间位置)
然后就可以修改啦
-xms1024m,设置jvm初始堆内存为1024m。此值可以设置与-xmx相同,以避免每次垃圾回收完成后jvm重新分配内存。-xmx1024m,设置jvm最大堆内存为1024m。-xss512k,设置每个线程的栈大小。jdk5.0以后每个线程栈大小为1m,之前每个线程栈大小为256k。在相同物理内存下,减小这个值能生成更多的线程,当然操作系统对一个进程内的线程数还是有限制的,不能无限生成。线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大,如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。-xmn341m,设置年轻代大小为341m。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到jvm垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。-xx:newsize=341m,设置年轻代初始值为341m。-xx:maxnewsize=341m,设置年轻代最大值为341m。-xx:permsize=512m,设置持久代初始值为512m,但在java8及之后就不支持了,改用-xx:metaspacesize=512m。-xx:maxpermsize=512m,设置持久代最大值为512m,同样在java8及之后就不支持了,改用-xx:maxmetaspacesize=512m。-xx:newratio=2,设置年轻代(包括1个eden和2个survivor区)与年老代的比值。表示年轻代比年老代为1:2。-xx:survivorratio=8,设置年轻代中eden区与survivor区的比值。表示2个survivor区(jvm堆内存年轻代中默认有2个大小相等的survivor区)与1个eden区的比值为1:1:8,即1个survivor区占整个年轻代大小的1/10。-xx:maxtenuringthreshold=15,具体参看jvm系列之内存分配和回收策略中对象的衰老过程。-xx:reservedcodecachesize=256m,设置代码缓存的大小,用来存储已编译方法生成的本地代码。-client,设置jvm使用client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行java程序默认启用该模式。-server,设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的jdk环境下默认启用该模式。-dserver.port=8084,设置服务端口为8084
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论