`

eclipse 下调整jdk和tomcat的jvm参数

    博客分类:
  • JVM
 
阅读更多
eclipse 下调试和运行,往往会出现调整java.lang.OutOfMemoryError: Java heap space

产生的原因我猜测是使用了maven,subversion,mylar,wtp等插件,还有就是大文件,对象的操作导致,具体原因还不确定。

在网上找了找相关资料,找到了解决办法:方法(1)操作后没有起作用,不过可以参考其中查看内存的技巧 .具体解决看方法(2),(3)

一 、在eclipse根目录,找到eclipse.ini,在其中指定初始heap
size和最大heap size:
-xms 64M
-xmx
256M
其中, -xms是初始heap size, -xmx 是最大heap
size。

在实际使用过程中,我发现我一启动eclipse时,heap
size使用大概是40m,多时可以达到128m,所以我的设置是
-xms
64m
-xmx 128m
对于permgen space:
在eclipse.ini中指定参数:
-permsize
256m
-maxpermsize
784m  

二 、修改jdk 使用内存(此方法可行)

找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit
按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入如下值即可。

-Xms64m -Xmx128m

三、    修改Run Configurations (此方法可行)

在代码上右键,依次点击“Run As ”-> “Run Configurations ”,在Arguments 参数中的“VM arguments:
”中填入如下值即可。

-Xms64m -Xmx128m

四、    查询当前JVM 内存代码

下面是查询当前JVM 内存大小的代码,可以测试以上设置后JVM 的内存是否会变化。增加JVM 内存的配置项后,无需重新启动eclipse
。具体的代码如下:

public class TestMemory {
     public static void main(String[] args) {

       System. out .println( " 内存信息 :" + toMemoryInfo ());

    }

    public static String toMemoryInfo() {

       Runtime currRuntime = Runtime.getRuntime ();

       int nFreeMemory = ( int ) (currRuntime.freeMemory() / 1024 /
1024);

       int nTotalMemory = ( int ) (currRuntime.totalMemory() / 1024 /
1024);

       return nFreeMemory + "M/" + nTotalMemory + "M(free/total)" ;
    
}
}

也可以把工程发布成war包部署到存在管理控制台host-manager的tomcat下.进入控制台选择status查看内存的使用情况.

设置好了,实际运行的结果可以通过Eclipse中“Help”-“About Eclipse SDK”窗口里面的“Configuration Details”按钮进行查看。还有一个办法可以在eclipse中看到当前heap size的分配和使用情况,还可以强制执行垃圾回收。
在eclipse的快捷方式上点击右键,在目标栏添加参数:
-debug
options -vm
javaw.exe
然后,在eclipse根目录下,新建一个名为options的文件,不要后缀名。在该文件中加入内容:
org.eclipse.ui/perf/showHeapStatus=true
重启eclipse,就可以在eclipse的左下角看到当前heap
size的使用情况和分配情况了,还可以手工执行垃圾回收,看heap size不够时就来一次。
分享到:
评论

相关推荐

    eclipse中对jvm进行设置

    你对Eclipse中JVM内存设置方法是否熟悉,这里通过几个问题向大家解释一下,安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。

    jvm tomcat eclipse 远程 断点 debug 调试 jpda

    jvm tomcat eclipse 远程 断点 debug 调试 jpda 远程断点实图演示

    com.sysdeo.eclipse.tomcat_3.2.1

    Eclipse里的tomcat插件 This plugin does not contain Tomcat. (Download and install Tomcat before using it) Download tomcatPluginV??.zip Unzip it in <eclipse_home>/plugins Plugin activation for ...

    tomcat-7_API_帮助文档

    Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the binary Tomcat distributions. Tomcat can also be ...

    tomcat-8_API

    mechanism of the JVM. The default configuration defines JARs located in "endorsed" as endorsed. ================================================================ Web application reloading and static ...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    112 5.2.5 服务器JVM进程崩溃 / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 ...

    尚硅谷_宋红康_Tomcat快速部署.pdf

    ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存...

    Java项目开发与毕业设计指导

    如果不能运行,将ch07文件夹下的swt.jar加入构建路径,然后在运行中的JVM参数中加入-Djava.library.path="dll所在目录的绝对路径"即可。 也可以在命令行下直接运行该程序,假设ch07文件夹放在D盘跟目录。则在cmd下...

    Java虚拟机

    第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出...

    《MyEclipse 6 Java 开发中文教程》前10章

    1.2 JDK 的下载,安装和配置(可选) 18 1.2.1下载JDK 18 1.2.2 安装JDK 23 1.2.3 配置环境变量(可选) 24 1.2.4 JDK 6 中文文档下载地址(ZIP,HTML,CHM)(可选) 26 1.3 Tomcat服务器的下载,安装和运行(可选) 26 ...

    javajava概要设计方案.doc

    使用lucene索引,要求index文件夹文件不能被破坏,但可以在里面增加文件(不能覆 盖),不推荐使用名字和lucene索引文件一样名字的文件 2.2运行环境 JVM tomcatwin2000或更高 2.2.1支持软件 需求环境 JDK, lucene包 ...

    J2EE程序设计实验指导书

    JSP编程使用的Java语言,所以运行JSP程序必须要有JVM的支持,还必须要有Java程序编辑、编译程序(JDK)的支持。现在企业流行的集成开发环境是Eclipse或MyEclipse。大多数应用程序都需要连接数据库,所以需要DBMS的...

    JAVA 范例大全 光盘 资源

    实例131 查看JVM中所有的线程和线程组 376 实例132 执行任务(线程池) 378 实例133 碰撞的球(多线程) 382 实例134 钟表(多线程) 387 实例135 模拟生产者与消费者 392 实例136 仿迅雷下载文件 396 第15章 ...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    tomcat resin jetty 容灾 日志框架 开源框架 slf4j 框架实现 log4j logback commong logging jdk logger 测试框架 测试框架 junit easymock testng mockito bug管理 禅道 jira 开发工具 编程...

Global site tag (gtag.js) - Google Analytics