`

JVM内存大小设置

 
阅读更多

一般情况下java程序容易出现java heap space 的错误提示,这个问题就是JVM的堆内存问题,因为其初始值非常小,所以在不够用的情况下要进行设置。

当然要确保你的程序正确,做的不是无限循环之类的无用功。在运行该程序时设置如下:

java -Xmx1g  -Xms1g application

-Xmx1g 设置最大可用内存为1g

-Xms1g 设置内存初始化最小值1g

后面application为你的JAVA程序名。

最大和最小值设置为一样的,是看了某贴:以避免每次垃圾回收完成后JVM重新分配内存

值的大小根据自己电脑配置而定,不能超过电脑的物理内存。有贴建议:-Xms 为电脑物理内存的1/64 ,-Xmx为电脑物理内存的1/4

--------------------------------------------------------------------------------------------

 

好像java 程序只有在运行时设置JVM大小,而没有一个可以永久设置的地方(也可能是我在网上没有搜到)

Tomcat 关于JVM的设置:

Linux中Tomcat的bin目录中有一个叫catalina.sh的文件,在

------------------------------------------------------------------------------------------------------------------------------

eclipse.ini文件可以调整Eclipse最大使用内存:

<Eclipse_Home>下面有一个eclipse.ini文件可以调整Eclipse最大使用内存,默认如下
-vmargs
-Xms40m
-Xmx256m


调整为:
-vmargs
-Xms40m
-Xmx256m
-XX:PermSize=64M
-XX:MaxPermSize=128M

1g内存推荐为:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
 

 

对于MyEclipse的话,直接修改MyEclipse在桌面的快捷方式的参数就可以啦。现在解释这些参数的意思。

-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
-Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小,
                       堆空间剩余小于5%就会警告,建议把这个稍微设
                               大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大堆大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

把里面的参数改为
-vmargs 
-Xms128M 
-Xmx512M 
-XX:PermSize=128M 
-XX:MaxPermSize=256M

所以对于我而言,我只要把我的MyEclipse5.0改-XX:PermSize=128M-XX:MaxPermSize=256M,问题解决!
 
-----------------------------------------------------------------------------
<Eclipse_Home>下面有一个eclipse.ini文件可以调整Eclipse最大使用内存,默认如下
-vmargs
-Xms40m
-Xmx256m


调整为:
-vmargs
-Xms40m
-Xmx256m
-XX:PermSize=64M
-XX:MaxPermSize=128M

1g内存推荐为:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
 

 

对于MyEclipse的话,直接修改MyEclipse在桌面的快捷方式的参数就可以啦。现在解释这些参数的意思。

-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
-Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小,
                       堆空间剩余小于5%就会警告,建议把这个稍微设
                               大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大堆大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

把里面的参数改为
-vmargs 
-Xms128M 
-Xmx512M 
-XX:PermSize=128M 
-XX:MaxPermSize=256M

所以对于我而言,我只要把我的MyEclipse5.0改-XX:PermSize=128M-XX:MaxPermSize=256M,问题解决!
分享到:
评论

相关推荐

    java获得jvm内存大小

    本文将深入探讨如何在Java中获取JVM内存大小,包括堆内存的总量、最大值以及剩余空间,并解析给定代码片段中的关键概念。 ### JVM内存模型 在讨论如何获取JVM内存大小之前,首先需要理解JVM的内存布局。JVM内存...

    Tomcat JVM内存设置方法

    ### Tomcat JVM内存设置方法详解 #### 一、前言 Tomcat作为一款广泛使用的Java应用服务器,其性能优化一直是开发者关注的重点之一。而在性能优化的过程中,合理设置JVM(Java Virtual Machine)内存是非常关键的一...

    Websphere7.0修改JVM的内存设置

    Websphere7.0环境下修改JVM的内存设置 方法1:修改配置的方式 通过修改server.xml进行JVM堆大小的设置: servel.xml文件路径:/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/22Node01Cell/nodes/Node01...

    JVM内存溢出问题解析

    堆的优势是可以动态分配内存大小,生存期也不必事先告诉编译器,但缺点是要在运行时动态分配内存,存取速度较慢。 JVM 如何设置虚拟内存?在 JVM 中,如果 98%的时间是用于 GC 且可用的 Heap size 不足 2%的时候...

    JVM内存模型深度剖析与优化.pdf

    JVM内存参数的设置对Java应用程序的性能有着至关重要的影响。以下是一些常见的JVM内存参数: 1. -Xms:设置初始堆大小。 2. -Xmx:设置最大堆大小。 3. -Xmn:设置新生代大小。 4. -Xss:设置线程栈大小。 5. -XX:...

    JVM内存空间分配笔记

    ### JVM内存空间分配详解 #### 一、JVM内存模型概览 JVM(Java虚拟机)内存模型主要由以下几个部分组成:程序计数器、Java虚拟机栈、本地方法栈、Java堆以及方法区(在JDK 8之后称为元空间)。下面将对这几个部分...

    idea插件JVM内存工具JProfiler11

    5. **JVM配置调整**:JProfiler11还可以提供JVM参数建议,帮助开发者正确设置JVM初始堆大小、最大堆大小、内存池等关键参数,确保应用程序稳定运行。 在实际使用中,JProfiler11的详细报告和可视化界面使得问题定位...

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    本文将深入探讨JVM内存管理的基础概念、内存设置方法及其调优策略,以帮助开发者避免常见的`java.lang.OutOfMemoryError`异常,提升应用性能。 #### JVM内存模型概述 Java虚拟机的内存主要由以下几个区域构成: 1...

    开发测试环境Docker及JVM内存限制部署方案

    该文档描述了开发测试环境中Docker及JVM内存限制部署方案

    JVM内存设置方法.docx

    JVM内存设置方法 JVM(Java Virtual Machine)是 Java 程序的运行环境,为了提高 Java 程序的性能,需要合理地设置 JVM 的内存分配。下面将详细介绍 JVM 内存设置的方法。 一、 JVM 内存设置参数 JVM 内存设置...

    jvm 内存分析文档

    JVM内存管理主要包括内存结构、内存分配以及垃圾回收(GC)等方面。了解这些知识对于优化Java应用程序的性能至关重要。 ### 1. JVM内存结构 #### 1.1.1 JVM内存概述 JVM内存分为几个关键区域,每个区域都有特定的...

    JVM内存管理白皮书

    在这份由Sun Microsystems公司出版的《JVM内存管理白皮书》中,我们可以找到关于Java虚拟机(JVM)内存管理的详细介绍和深入分析。这份文档对于想要深入了解JVM工作原理的读者来说是一份宝贵的学习资料。在这份...

    JVM内存配置优化

    ### JVM内存配置优化 #### 一、理解JVM内存模型 在进行JVM内存配置优化之前,我们需要了解Java虚拟机(JVM)的内存结构。Java的逻辑内存模型大致分为几个部分: 1. **堆内存(Heap)**:主要用于存储对象实例、数组...

    如何配置Tomcat的JVM虚拟机内存大小

    除了JVM内存配置外,Tomcat的连接器设置也对性能有重要影响。在`server.xml`文件中,有几个关键参数: - `maxThreads`:表示Tomcat可创建的最大线程数,用于处理并发请求,默认为200。 - `acceptCount`:当所有线程...

    分别在Linux和Windows下设置JVM内存的简单方法

    Linux服务器: 在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh 添加:JAVA_OPTS=’-Xms512m -Xmx1024m’ 或者 JAVA_OPTS=”-server -Xms800m -Xmx800m  -XX:MaxNewSize=256m” 或者 CATALINA_OPTS=”-...

    jvm内存监控工具使用

    ### JVM内存监控工具详解 #### 引言 Java Virtual Machine (JVM) 是运行 Java 应用程序的核心组件,其性能直接影响应用的响应速度和稳定性。JVM 的内存管理是性能优化的关键,尤其是在高并发环境下,合理的内存...

    JVM内存设置管理大全

    - **-Xms**: 设置JVM初始堆内存大小,通常建议设置与-Xmx相同以避免频繁调整堆内存大小带来的性能损失。 - **-Xmn**: 设置年轻代的内存大小,这直接影响到整个堆内存的分配。 - **-Xss**: 设置每个线程的堆栈大小,...

    JVM内存参数详解以及配置调优

    由XX:MaxPermSize 设置最大非堆内存的大小,默认是物理内存的 1/4。 JVM 内存限制 JVM 内存限制是指 JVM 对于内存的最大限制。服务器一般设置-Xms、-Xmx 相等以避免在每次 GC 后调整堆的大小。同时,需要根据实际...

    堆内存及JVM内存设置参数 小笔记

    在进行JVM内存设置时,需要注意的是新生代的大小不应超过老年代,同时需要根据应用运行时的实际内存需求来调整设置,从而达到最优化性能。例如,增大新生代可以减少Young GC的频率,但可能导致老年代空间不足,而...

Global site tag (gtag.js) - Google Analytics