【Eclipse】eclipse中设置tomcat启动时候的JVM参数
主要通过以下的几个jvm参数来设置堆内存的:
-Xmx512m 最大总堆内存,一般设置为物理内存的1/4
-Xms512m 初始总堆内存,一般将它设置的和最大堆内存一样大,这样就不需要根据当前堆使用情况而调整堆的大小了
-Xmn192m 年轻带堆内存,sun官方推荐为整个堆的3/8
堆内存的组成 总堆内存 = 年轻带堆内存 + 年老带堆内存 + 持久带堆内存
年轻带堆内存 对象刚创建出来时放在这里
年老带堆内存 对象在被真正会回收之前会先放在这里
持久带堆内存 class文件,元数据等放在这里
-XX:PermSize=128m 持久带堆的初始大小
-XX:MaxPermSize=128m 持久带堆的最大大小,eclipse默认为256m。如果要编译jdk这种,一定要把这个设的很大,因为它的类太多了。
在tomcat上双击 ,点 open lunch configuration,在argument签页下,直接在VMargument后面追加设置 ,如 -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
例如:我的配置:
-Xms5200M -Xmx5200M -XX:PermSize=512M -XX:MaxPermSize=512M
利用JDK自导的jmap查看:(先用jps查看pid,然后个jmap查看内存)
jps 查出的三个pid
C:\Users\liqia>jps
520404 Bootstrap
575844 Jps
348088
通过任务管理器查看进程的ID可以看到:
也就是说带Bootstrap的是Tomcat,348088是eclipse。
1. 查看JVM内存信息:(验证刚才的配置)
方法一:
C:\Users\liqia>jmap -heap 520404
Attaching to process ID 520404, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.80-b11
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 5452595200 (5200.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 536870912 (512.0MB)
MaxPermSize = 536870912 (512.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 1363673088 (1300.5MB)
used = 1122021344 (1070.0429382324219MB)
free = 241651744 (230.45706176757812MB)
82.27934934505359% used
From Space:
capacity = 227016704 (216.5MB)
used = 172383432 (164.39765167236328MB)
free = 54633272 (52.10234832763672MB)
75.93425019508696% used
To Space:
capacity = 227016704 (216.5MB)
used = 0 (0.0MB)
free = 227016704 (216.5MB)
0.0% used
PS Old Generation
capacity = 3635412992 (3467.0MB)
used = 73744 (0.0703277587890625MB)
free = 3635339248 (3466.929672241211MB)
0.0020284903025400204% used
PS Perm Generation
capacity = 536870912 (512.0MB)
used = 58398232 (55.692893981933594MB)
free = 478472680 (456.3071060180664MB)
10.877518355846405% used
方法二:利用tomcat的自带项目查看:到tomcat主页点击server status
方法三:用JDK自带的jvisualvm.exe查看
2 查看pid为348088的内存(验证eclipse的配置)
eclipse.ini配置
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1024M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms4096m
-Xmx4096m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-Xloggc:gc.log
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
jps命令查看内存信息:
C:\Users\liqia>jmap -heap 348088
Attaching to process ID 348088, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.80-b11
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 4294967296 (4096.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 536870912 (512.0MB)
MaxPermSize = 536870912 (512.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 1145569280 (1092.5MB)
used = 202738320 (193.34632873535156MB)
free = 942830960 (899.1536712646484MB)
17.697604460901744% used
From Space:
capacity = 146800640 (140.0MB)
used = 46552800 (44.396209716796875MB)
free = 100247840 (95.60379028320312MB)
31.711578369140625% used
To Space:
capacity = 139460608 (133.0MB)
used = 0 (0.0MB)
free = 139460608 (133.0MB)
0.0% used
PS Old Generation
capacity = 2863661056 (2731.0MB)
used = 154200136 (147.05670928955078MB)
free = 2709460920 (2583.943290710449MB)
5.384720222978791% used
PS Perm Generation
capacity = 536870912 (512.0MB)
used = 153296424 (146.19486236572266MB)
free = 383574488 (365.80513763427734MB)
28.553684055805206% used
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix