这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的。第一次出现这样的的问题以后,引发了其他的问题。在网上一查可能是JAVA的堆栈设置太小的原因。

跟据网上的答案大致有这两种解决方法:

1、设置环境变量

解决方法:手动设置Heap size

修改TOMCAT_HOME/bin/catalina.sh

set JAVA_OPTS= -Xms32m -Xmx512m

可以根据自己机器的内存进行更改。

2、java -Xms32m -Xmx800m className

就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)

这个解决问题了。而且执行的速度比没有设置的时候快很多。

如果在测试的时候可能会用Eclispe 这时候就需要在Eclipse ->run -arguments 中的VM arguments 中输入-Xms32m -Xmx800m这个参数就可以了。

后来在Eclilpse中修改了启动参数,在VM arguments 加入了-Xms32m -Xmx800m,问题解决。

一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,

这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,

它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对

PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,

这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小

超过了jvm默认的大小(4M)那么就会产生此错误信息了。

解决方法: 手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh

在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

二、java.lang.OutOfMemoryError: Java heap space

Heap size 设置

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可

进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。

提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。

提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

解决方法:手动设置Heap size

修改TOMCAT_HOME/bin/catalina.sh

在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

三、实例,以下给出1G内存环境下java jvm 的参数设置参考:

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

很大的web工程,用tomcat默认分配的内存空间无法启动,如果不是在myeclipse中启动tomcat可以对tomcat这样设置:

TOMCAT_HOME/bin/catalina.bat 中添加这样一句话:

set JAVA_OPTS= -Xmx1024M -Xms512M -XX:MaxPermSize=256m

如果要在myeclipse中启动,上述的修改就不起作用了,可如下设置:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

以上是转贴,但本人遇见的问题是:在myeclipse中启动Tomcat时,提示"ava.lang.OutOfMemoryError: Java heap space",解决办法就是:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

挺灵的。

Java VM(虚拟机) 参数

-XX:PermSize/-XX:MaxPermSize,永久代内存: 1. 虚拟机参数:-ea,支持 assert 断言关键字 eclipse 默认是不开启此参数的,也就是虽然编译器支持 asser ...

一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库 RxJava,相当好

https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响 ...

获取Java VM中当前运行的所有线程

/** * 获取Java VM中当前运行的所有线程 * @return */ public static Thread[] findAllThreads() { ThreadGroup group = ...

WLST Hangs Up Because of Java VM ClassLoader Deadlock

APPLIES TO: Oracle WebLogic Server - Version 10.0 to 10.3.6Information in this document applies to a ...

Javascript Engine, Java VM, Python interpreter, PyPy – a glance

提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter =& ...

【三】Java VM 发展史

1. Sun Classic VM  jdk1.0  第一款商用虚拟机. 只能使用纯解释器来运行Java代码.没有自己的判断,会把每一个方法每一行代码都编译,效率不好.导致大家普遍认为Java代码运行 ...

Error: Java VM internal error:Error Loading javai.dll

因为前几天的JMS测试,第一次写了loadrunner的脚本,感觉路一下子宽了. 知道loadrunner可以使用java写脚本,今天就试了一下,遇到了两个第一次写Java Vuser脚本普遍都会遇到 ...

jboss启动时java VM参数设置

jboss服务器中jvm参数的设置: 在$JBOSS_HOME/bin下的run.sh里面存在这么一个设置: # Force IPv4 on Linux systems since IPv6 does ...

随机推荐

php工作笔记7-概率算法

a/m  b/m   c/m   d/m   10%    40%    20% a+b+c+d+... < = m array k   =  {a,b,c...} randt = rand(1 ...

炫酷的jquery瀑布流

最近做了一个瀑布流效果,思路很简单 首先计算屏幕一行可以放多少个图片,然后在第二行开始,计算每一列的高度并取出最小值,将新图片加载在最小列高度下,如此循环,并且设定一个条件,当滑动到一定距离后,开始重 ...

FoxMail的Bug

Foxmail 7.2 build6.040,win7中文专业版 下载腾讯的企业邮箱的邮件, 自动配置为imap收邮件 收件箱应该为1740封 邮件 实际foxmail却只收到1500多封 改成pop ...

Rainyday&period;js – 傻眼了!竟然有如此逼真的雨滴效果

Rainyday.js 是一个轻量的 JavaScript 库,利用 HTML5 Canvas 实现雨滴下落在玻璃表面的动画效果.Rainyday.js 尽可能的模拟现实的雨滴效果,几乎可以以假乱真了 ...

7-Highcharts曲线图之分辨带

7-Highcharts曲线图之分辨带 ...

PHP学习笔记05——面向对象

I&period;MX6 Power off register hacking

/*********************************************************************** * I.MX6 Power off register ...

浅淡Windows7 32位与64位&sol;x86与x64的区别

看到有很多会员问到底是选Windows7 x86,还是选x64.这里简单的谈一下这这两种系统的区别. 简单的说x86代表32位操作系统  x64代表64位操作系统. 简单的判断电脑是否支持64位操作系 ...

&lbrack;SOJ&rsqb; DAG&quest;

Description 输入一个有向图,判断该图是否是有向无环图(Directed Acyclic Graph). Input 输入的第一行包含两个整数n和m,n是图的顶点数,m是边数.1<=n ...

python3之MongoDB

1.MongoDB简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可 ...

java VM argument_java vm args相关推荐

  1. 深入理解Java虚拟机-常用vm参数分析

    Java虚拟机深入理解系列全部文章更新中- 深入理解Java虚拟机-Java内存区域透彻分析 深入理解Java虚拟机-常用vm参数分析 深入理解Java虚拟机-JVM内存分配与回收策略原理,从此告别J ...

  2. Eclipse ee编译器Error:could not open ' D:\ JAVA \ lib \ i386 \vm.cfg问题解决

    最近帮同学部署jsp项目,开发环境是Eclipse ee for 64,但是却出现了Error:could not open ' D:\ JAVA \ lib \ i386 \vm.cfg,遇到这种情 ...

  3. 【VM】—VM安装包

    [VM]-VM安装包 链接:https://pan.baidu.com/s/1rzHahvNgBCj-Xq1A9Bb_XA 提取码:4hum

  4. java中的object... args参数

    关于java方法中Object... args参数的含义 在阅读google发布的volley源码时,突然看到一个方法中存在这样的写法,如 :v(String format, Object... ar ...

  5. JAVA中的String[] args和String args[]详解。

    JAVA中的String[] args和String args[]是什么意思? 1.是什么意思? 2.怎样给args赋值? 3.补充事项 1.是什么意思? Java中的String[] args 和S ...

  6. java VM argument_java之program arguments与VM arguments

    program arguments 中的值作为 args[] 的参数传入的,而 VM Arguments 是设置的虚拟机的属性. program arguments 是要传给你的应用程序的,它通过主函 ...

  7. 深入java虚拟机 第四版_深入理解Java虚拟机-常用vm参数分析

    Java虚拟机深入理解系列全部文章更新中... https://blog.ouyangsihai.cn/shen-ru-li-jie-java-xu-ni-ji-java-nei-cun-qu-yu- ...

  8. oracle java vm,我可以使用Oracle Java 7 HotSpot VM安装DCEVM吗?

    我在MacOS上运行Oracle Java 7(OSX 10.7.5) java -version: Java version "1.7.0_40" Java(TM) SE Run ...

  9. 怒江java培训班_Graal VM:微服务时代的Java

    互联网之于JavaScript.人工智能之于Python,微服务风潮之于Golang,在原生云微服务时代到来时Java能否还长期占据编程语言榜单第一位位置呢?Oracle Labs新公开了一项黑科技: ...

最新文章

  1. ubuntu mysql的穷_Ubuntu安装配置Mysql
  2. Java记录 -22- Java的基类Object详解
  3. 【JavaScript基础笔记】模块化、立即执行函数应用、闭包应用
  4. 使用 spring 的 IOC 解决程序耦合——获取spring的Ioc核心容器,并根据id获取对象、核心容器的两个接口(ApplicationContext、BeanFactory)引发出的问题
  5. 从0开始学Swift笔记整理(一)
  6. linux 故障注入_基于chaosblade的故障注入平台小试
  7. 由炮灰模型到“微软钻石题”
  8. 数据分析实战之自如房租分析
  9. HTML5 Canvas雨滴下落动画 超逼真
  10. 如果一非零的整系数多项式能够分解成两个次数较低的有理系数多项式的乘积,那么它一定能分解成两个次数较低的整系数多项式的乘积
  11. 质数/素数 - 合数
  12. 图片里的数学公式转换成word
  13. vue-pdf的使用
  14. B. Coloring Rectangles
  15. nginx关闭请求处理ngx_http_finalize_request源码分析
  16. UTF-8的编码规则
  17. [转]全网最!详!细!tarjan算法讲解
  18. QCC512x QCC302x Earbud 跑通新建工程 —— ADK6.x 环境搭建、 自带例程
  19. UML类图属性和相关关系
  20. 短距离无线通讯-NFC

热门文章

  1. leetcode 25. Reverse Nodes in k-Group | 25. K 个一组翻转链表(Java)
  2. 【BootCDN】前端使用开源免费的 CDN 加速服务
  3. 【Centos】CentOS7 安装 JDK11.0.3
  4. Linux下出现permission denied的解决办法
  5. protocol buffer没那么难,不信你看这篇
  6. linux网络编程--阻塞与非阻塞
  7. Spring MVC工作原理 及注解说明
  8. Linux 环境下安装 Golang
  9. 28行代码AC——Minimum Sum LCM UVA - 10791(最大质因子)
  10. 两个有序链表序列的交集 (20分)(最佳解法)