找出您的Java堆内存大小

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不同。 最佳做法是始终定义自己的价值。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值