总结个人以及别人给的解释,就heap和perm内存问题做出说明和解决办法。 1 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.bat,在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:  Java代码  set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m   set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m 或修改catalina.sh  在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:  JAVA_OPTS="$JAVA_OPTS -server -Xms800m -Xmx800m -XX:MaxNewSize=256m" 2 其次是: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)那么就会产生此错误信息了。 解决方法: 1) 手动设置MaxPermSize大小  修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在Java代码  “echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:     set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m   “echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:  set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m catalina.sh下为:  Java代码  JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"  JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m" 2) 将通用的lib文件放到tomcat的目录下

java运行内存不足_Java运行过程出现的内存不足问题相关推荐

  1. java运行内存计算_java计算金额是放在内存中计算还是在sql中计算好呢?

    严格来说,数据库上的金额这个字段根本就不应该被直接set. 为什么这么说呢,因为在这个操作完成以后,实际上数据库要承载的信息被丢失了,丢失了那一部分呢?丢失了修改前的数值,而且是永久丢失了,再也找不回 ...

  2. 使用记事本写java程序并编译运行过程

    写一个简单的java源文件:HelloWorld.java public class HelloWorld{public static void main(String[] args){System. ...

  3. java程序运行过程数据丢失怎么办_java运行过程中OutOfMemoryError是什么原因?怎么解决...

    1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 3.代码中存在死循环或循环产生过多重复的对象实体: 4.使用的第三方软件 ...

  4. 机器语言,汇编语言,高级语言,c,java语言编译到运行过程

    机器语言:    计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由"0" 和"1"组成的二进 ...

  5. linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息

    Java运行状态分析2:获取线程堆栈信息 基本概念 出现内存泄漏或者运行缓慢场景,有时候无法直接从业务日志看出问题时候,需要分析jvm内存和线程堆栈 线程堆栈信息主要记录jvm线程在某时刻线程执行情况 ...

  6. java支持库(_Java运行环境支持库下载-Java Runtime Environment(JRE) v9.1.8官方64位版-ucbug下载站...

    JRE为Java Runtime Environment的简称,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库.Java Runtime Environment(包括Java ...

  7. java没提示_java运行不了,出现以下提示,如何解决。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java 插件11.162.2.12 x86 使用 JRE 版本 1.8.0_162-b12 Java HotSpot(TM) Client VM 用户主 ...

  8. java 32位_Java知识点:创建节约内存的JavaBean

    一个Java对象到底有多大? 想要精确计算一个Java对象占用的内存,首先要了解Java对象的结构表示. Java对象结构 一个Java对象在Heap的表示,可以分为三部分: Object Heade ...

  9. python运行过程中占用内存越来越大_Python 程序运行时CPU和内存高解决思路

    这篇文章是基于上篇文章的续章~ 一台机器要部署很多爬虫,每天定时执行的情况下,服务器CPU和内存占比较高的情况出现后 模拟一份代码,进行分析. 一个简单的爬虫程序,爬取10页数据共计150条,每天定时 ...

  10. Java在加载阶段会加载依赖吗,Java程序编译和运行过程之 一个对象的生命之旅(类加载和类加载器)...

    Java程序从创建到运行要经过两个大步骤 1:源文件(.java)由编译器编译成字节码ByteCode(.class) 2:字节码由Java虚拟机解释并运行 源文件编译成字节码,主要分成两个部分: 1 ...

最新文章

  1. DNS 流程说明以及相关问题的解析
  2. 终于快忙出头了,开了个FTP给大家用[mikespook]
  3. SpringSecurity认证用户状态的判断
  4. Delphi多线程详解CreateThread、TThread,以及线程间通过临界区(CriticalSection)实现同步
  5. 装修要找大品牌还是游击队,还是包工头?
  6. arguments.callee 指向正在执行的函数的指针
  7. 用URL传值的浏览器最大长度限制
  8. 实战项目——小王优品铺
  9. JAVA菜鸟的第一天
  10. PDF迅捷转换器html网址,迅捷pdf转换成HTML转换器
  11. php网站xiazai工具,php程序员工具箱下载_php程序员工具箱v1.0版本-php中文网工具下载...
  12. Git 拉取远程最新代码
  13. 银海系统服务器登录不上,解决登录问题 - Skype for Business | Microsoft Docs
  14. 钽电解电容跟铝电解电容的区别
  15. 三国志2霸王的大陆 武器大全
  16. java jtextarea.setfont_如何在JTextArea中更改文本颜色?
  17. Spring源码解析(一)---spring源码的下载编译
  18. 计算机在辅助设计中的应用,计算机辅助设计在艺术设计中的应用
  19. windows的dmp文件使用
  20. 几个简单实用的vbs命令

热门文章

  1. BeEF-XSS实验手记
  2. 2021年江苏省教学成果奖(高等教育类)拟获奖项目名单
  3. k8s安装prometheus+grafana(第二弹:prometheus-operator)
  4. visual studio fatal error C1083: 无法打开源文件
  5. python 平方公里和英亩单位转换
  6. html 旋转木马 轮播,JS实现旋转木马轮播图
  7. 2D基本知识入门学习
  8. 二级域名设置解析方法
  9. webservice 缺少根元素_草莓种植,钙、硼元素十分重要,直接关系到草莓的产量和品质!...
  10. @Aspect 注解使用详解