在JVM中。假设98%的时间是用于GC且可用的HeapSize不足2%时将会抛出OOM异常;HeapSize最大不要超过可用物理内存的80%,一般-Xms –Xmx设置为同样,-Xmn设置为1/4的-Xmx。

若-Xms、-Xmx设置的大小超过物理内存,则会出现:

”Error occurred during initialization if VM could not reserve enoughspace fro object heap”

对于Web类型的应用(要求大吞吐量)堆大一些好。而对于GUI应用(要求实时响应)堆太大会占用太多时间进行垃圾收集,这样就不能实现较好的实时性,交互性会较差。

通常出现的错误:

“java.lang.OutOfMemeoryError:Java Heap space”是由于JVM的默认堆大小是64MB,能够通过设置最大值和最小值实现。通常设置为内存大小的80%,以下以1G内存为例。

解决方式:

1)在Windows中加入环境变量

JAVA_OPTS=-Xm800m–Xmx800m

2)若用的是Tomcat,则在Tomcat的主文件夹的bin/catalina.bat中加上

SetJava_OPTS=-Xm800m –Xmx800m

3)在Linux系统中。则在Tomcat的主文件夹的bin/catalina.bat中加上

Set Java_OPTS=’-Xm800m –Xmx800m’

主要知识点:

JVM内存组成:新域(YoungGeneration)、旧域(Tenured Generation)和永久域(Perm Generation)。新域有Eden和2个救助域构成。永久域保存在虚拟机的整个生存周期都存在的对象,永久域不会被垃圾收集器清空。

第二节 JVM优化应用以及知识总结的更多相关文章

  1. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  2. 系统优化怎么做-JVM优化之VisualVM

    大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...

  3. Mysql优化方面的知识

    Mysql优化方面的知识 第一方面:30种mysql优化sql语句查询的方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避 ...

  4. 【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)

    说明 本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误.因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期 ...

  5. 《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构

    第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构 接下来,我们来看看,VS为我们自动创建的项目,是什么样子的? 可以通过菜单中[View]->[Solution Explo ...

  6. android内部培训视频_第二节 布局基础

    第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件 ...

  7. seajs第二节,seajs各模块依赖关系

    index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  8. JVM优化

    1.堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64 ...

  9. JVM 优化问题

    jvm 优化问题 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

随机推荐

  1. 使用 HAProxy, PHP, Redis 和 MySQL 轻松构建每周上亿请求Web站点

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. iTunes Connect App Bundles

    App Bundles捆绑销售提交流程: 1. 在iTunes Connect左上「+」选「Create Bundle」到「New App Bundle」挑选已上线应用(最多可捆绑10个应用) 2. ...

  3. 3月题外:关于JS实现图片缩略图效果的一个小问题

    由于3月可能要结束实习,所以应该不会有特别固定的主题,另外我会在月初陆续补上上个月的番外篇Projection和TMS,作为介绍性的内容对矢量切片部分进行补充,剩下时间不定期写一些杂烩. 最近两天在做 ...

  4. Linux的防火墙–Iptables

    导读 Iptable已经集成在Linux 2.4及以上版本的内核中,同Windows下的众多“傻瓜”防火墙不同的是,Iptables需要用户自己定制相关规则.下面我就给大家简单介绍一下关于防火墙的基本 ...

  5. Linux挂载命令mount用法及参数详解

    导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...

  6. 免费的多数据库管理工具sqldbx个人版本

    SqlDbx是一个先进的Sql编辑器和数据库对象资源管理器SqlDbx仅一个可执行的文件不需要安装 SqlDbx与SSMS对象内存占差的不是一点点,但功能与SSMS相当 优点:支持多数据库,占用内存小 ...

  7. springmvc跨域+token验证

      1)app后台跨域设置      2)拦截器中设置http报文header中token      3)token的生成实现 ==================================== ...

  8. C经典之9-system,if,do,while---ShinePans

    #include <stdio.h> #include <conio.h> #include <stdlib.h> //system(); 这个指令须要用到此头文件 ...

  9. iOS 真机调试多台mac电脑共用一个证书

    大致流程:在你的开发电脑上导出一个 p12文件,以及在 apple开发者中心下载一个profile文件,把这两个文件导出给你的mac开发友就行了 打开 mac  钥匙工具-----找到你的证书---- ...

  10. Xcode5 打包 发布配置

    http://www.cnblogs.com/zhaoqingqing/p/3553750.html 主题 Unity导出Xcode项目,使用Xocde打包ipa并提交到AppStore 步骤 1.设 ...