找出您的Java堆内存大小

本文介绍了如何查看Java应用程序的堆内存大小,并在Ubuntu、Mac OSX和Windows上展示了默认值。Java堆大小在不同操作系统下有显著差异,文章提供了针对中小型应用的建议配置:堆=-Xms512m -Xmx1024m, PermGen=-XX:PermSize=64m -XX:MaxPermSize=128m,线程=-Xss512k。作者强调应根据实际需求调整内存设置,因为默认值可能不适合所有情况。
摘要由CSDN通过智能技术生成
java-heap-size

在本文中,我们将向您展示如何使用-XX:+PrintFlagsFinal来查找堆大小的详细信息。 在Java中,默认堆大小和最大堆大小是根据此– 人机工程学算法分配的。

堆大小
初始堆大小为物理内存的1/64,最大为1Gbyte
最大堆大小为物理内存的1/4,最大为1GB

但是,以上算法仅供参考,在不同的VM中可能有所不同。

1. Java内存概述

快速回顾一下Java内存结构:

1. Java堆大小
存放Java应用程序创建的对象的地方,这是进行Java应用程序使用的内存的垃圾收集的地方。 对于繁重的Java进程,堆大小不足将导致流行的java.lang.OutOfMemoryError: Java heap space

-Xms<size> - Set initial Java heap size
-Xmx<size> - Set maximum Java heap size

$ java -Xms512m -Xmx1024m JavaApp

2.烫发代大小
存放已加载的类定义和元数据的地方。 如果加载了大型代码库项目,则Perm Gen大小不足将导致流行的Java.Lang.OutOfMemoryError: PermGen

-XX:PermSize<size> - Set initial PermGen Size.
-XX:MaxPermSize<size> - Set the maximum PermGen Size.

$ java -XX:PermSize=64m -XX:MaxPermSize=128m JavaApp

3. Java堆栈大小
Java线程的大小。 如果项目中有大量线程要处理,请尝试减小堆栈大小,以免耗尽内存。
-Xss =设置Java线程堆栈大小

$ java -Xss512k JavaApp

注意
堆大小,perm gen或堆栈大小的默认值与不同的JVM不同。 最佳做法是始终定义自己的价值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值