eclipse 下调整jdk和tomcat的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不够时就来一次。

时间: 2024-10-31 11:35:11

eclipse 下调整jdk和tomcat的jvm参数的相关文章

【Tomcat】Tomcat配置JVM参数步骤

这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的JDK的版本,但还是推荐您使用Sun公司发布的JDK. Tomcat配置JVM参数 Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的 JDK的版本(只要是符合Sun发布的Java规范的),但我们推荐您使用Sun公司

阿里云的ubuntu server 12.04 下安装jdk和tomcat

因为想自己在做个简单粗暴的小游戏,弄到朋友圈去,买了个阿里云服务,当时选的的ubuntu sever 12.04的os,恰巧朋友又委托一个小项目,所以先尝试搭建下环境. 首先,用putty或者SSH Secure Shell Client连接到服务器,进入命令环境. 1.$ sudo mkdir /usr/lib/jvm     创建存放jdk的安装目录 然后到 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downlo

Linux下配置JDK和Tomcat

第一步:首先在VM上安装linux系统,这里不就介绍怎么装Linux系统,不会的话去百度.但是这里要提醒一下,虚拟机和本机如何进行数据传输,我用的是[虚拟机共享文件选项]. 安装方法:虚拟机菜单 VM-Instal VMware Tools 并安装完.如果是在真实linux系统下安装JDK和Tomcat,可以忽略此步骤. 设置共享文件夹如图所示 第二步:下载JDK和tomcat 下载jdk-8u111-linux-x64.rpm JDK下载地址:http://www.oracle.com/tec

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤

准备文件如下: 1.CentOS-6.4-x86_64-bin-DVD1.iso 2.jdk-7u67-linux-x64.rpm 3.apache-tomcat-7.0.55.tar.gz 安装步骤如下: 一.安装JDK [[email protected] /]# java -versionbash: java: command not found [[email protected] /]# rpm -ivh /soft/jdk-7u67-linux-x64.rpmPreparing...

centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法

centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在centos下安装了jdk和tomcat,并调试通,之前从Ubuntu下装过,还没有从centos弄过,记录一下安装过程与出现的问题. 首先准备好安装文件,jdk-6u45-linux-i586-rpm.bin  apache-tomcat-6.0.41.tar.gz 进入目录 [html] view

如何在Eclipse下查看JDK源代码

在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 "window"-> "Preferences" -> "Java" -> "Installed JRES" 2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE) 3.选中rt.jar文件

linux下安装jdk和tomcat

1.下载JDK和tomcat http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html http://tomcat.apache.org/download-70.cgi 2.安装JDK,在/usr下 mkdir java 将jdk复制到.usr/java目录下,并且解压 3.配置好环境变量 vim /etc/profile JAVA_HOME=/usr/java/jdk1.8.0_141

eclipse集成配置jdk和tomcat

描述:先安装好jdk-->tomcat-->eclipse.然后打开eclipse进行集成配置jdk和tomcat,具体步骤以图片的形式详解:

eclipse下,64位tomcat报错(转)

报错 : java.lang.UnsatisfiedLinkError: D:\apache-tomcat-7.0.57\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform 原因: 在eclipse中,指定了tomcat的路径后,默认使用的是eclipse中的JRE. 虽然我tomcat和电脑中的JRE都是64位,但eclipse中的JRE是32位. 解决: 将tomcat的JRE改为本机64位版本