zoukankan      html  css  js  c++  java
  • 第二节 JVM优化应用以及知识总结

    在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个救助域构成。永久域保存在虚拟机的整个生存周期都存在的对象,永久域不会被垃圾收集器清空。

                  

  • 相关阅读:
    设计模式-1.12备忘录模式
    设计模式-简介
    设计模式-1.9享元模式
    设计模式-1.8组合模式
    设计模式-1.7外观模式
    设计模式-1.6建造者模式(生成器模式)
    设计模式-1.5原型模式
    我在GitHubPage的博客
    奇怪的友链增加啦!
    SSL-OI夏日合宿 杂题 LOJ#6089小Y的背包计数问题 根号分治
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7307801.html
Copyright © 2011-2022 走看看