精华内容
下载资源
问答
  • 使用Intellij idea 其发动tomcat时会配置启动vm options :-Xms128m -Xmx768m -XX:PermSize=64M -XX:MaxPermSize=512m。但是这些参数到底是什么意思呢?有时候参数设置大小会出现内存泄漏的问题:OOM(“Out of ...

    使用Intellij idea 其发动tomcat时会配置启动vm options :-Xms128m -Xmx768m -XX:PermSize=64M -XX:MaxPermSize=512m。

    但是这些参数到底是什么意思呢? 有时候参数设置大小会出现内存泄漏的问题:

    OOM(“Out of Memory”)异常一般主要有如下2种原因:

    1. 年老代溢出,表现为:java.lang.OutOfMemoryError:Javaheapspace

    这是最常见的情况,产生的原因可能是:设置的内存参数Xmx过小或程序的内存泄露及使用不当问题。

    例如循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存。还有的时候虽然不会报内存溢出,却会使系统不间断的垃圾回收,也无法处理其它请求。这种情况下除了检查程序、打印堆内存等方法排查,还可以借助一些内存分析工具,比如MAT就很不错。

    2. 持久代溢出,表现为:java.lang.OutOfMemoryError:PermGenspace

    通常由于持久代设置过小,动态加载了大量Java类而导致溢出,解决办法唯有将参数 -XX:MaxPermSize 调大(一般256m能满足绝大多数应用程序需求)。将部分Java类放到容器共享区(例如Tomcat share lib)去加载的办法也是一个思路,但前提是容器里部署了多个应用,且这些应用有大量的共享类库。

    参数说明

    -Xmx3550m:设置JVM最大堆内存为3550M。

    -Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

    -Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。需要注意的是:当这个值被设置的较大(例如>2MB)时将会在很大程度上降低系统的性能。

    -Xmn2g:设置年轻代大小为2G。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。

    -XX:NewSize=1024m:设置年轻代初始值为1024M。

    -XX:MaxNewSize=1024m:设置年轻代最大值为1024M。

    -XX:PermSize=256m:设置持久代初始值为256M。

    -XX:MaxPermSize=256m:设置持久代最大值为256M。

    -XX:NewRatio=4:设置年轻代(包括1个Eden和2个Survivor区)与年老代的比值。表示年轻代比年老代为1:4。

    -XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为2:4,即1个Survivor区占整个年轻代大小的1/6。

    -XX:MaxTenuringThreshold=7:表示一个对象如果在Survivor区(救助空间)移动了7次还没有被垃圾回收就进入年老代。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代,对于需要大量常驻内存的应用,这样做可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象在年轻代存活时间,增加对象在年轻代被垃圾回收的概率,减少Full GC的频率,这样做可以在某种程度上提高服务稳定性。

    标准参数(-),所有JVM都必须支持这些参数的功能,而且向后兼容;例如:

    -client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。

    -server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的JDK环境下默认启用该模式。

    非标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容;

    非稳定参数(-XX),此类参数各个JVM实现会有所不同,将来可能会不被支持,需要慎重使用;

    展开全文
  • 启动MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题。在tomcat的catalina.bat中...但是在myeclipse中配置tomcat后,通过myeclipse启动就出现内存溢出,之前在catalina.bat中设置的内存似乎没有作用。解...

    启动MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题。

    在tomcat的catalina.bat中设置set JAVA_OPTS=-Xms128m -Xmx256m,直接使用startup.bat启动tomcat没有问题。但是在myeclipse中配置tomcat后,通过myeclipse启动就出现内存溢出,之前在catalina.bat中设置的内存似乎没有作用。

    解决方法:窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。

    -Xms128m -Xmx256m

    -Dcom.sun.management.jmxremote=true

    内存具体大小视具体情况制定。

    tomcat分为安装和压缩包形式,安装的情况catalina.bat设定、使用系统服务不会生效,而是存储在注册表中,位置是HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions 修改时视情况而定。

    http://wm20000.spaces.live.com/blog/cns!1C017DC99CCE4395!1738.entry

    展开全文
  • 之前老报内存溢出的错,之前能跑1天,我在tomact下修改了java启动参数,现在过了3天,日志里又除了这种...服务器: 内存8G 2003系统tomcat:安装版6.0版本,tomcat下运行一个网站,两个系统;之前老报内存溢出的错,...

    服务器:内存8G2003系统tomcat:安装版6.0版本,tomcat下运行一个网站,两个系统;之前老报内存溢出的错,之前能跑1天,我在tomact下修改了java启动参数,现在过了3天,日志里又除了这种...

    服务器: 内存8G 2003系统

    tomcat:安装版6.0版本,tomcat下运行一个网站,两个系统;

    之前老报内存溢出的错,之前能跑1天,我在tomact下修改了java启动参数,现在过了3天,日志里又除了这种错误

    ,一系统down掉;是不是我配置的java参数不正确?请教!

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    严重: The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.

    2013-4-18 10:55:56 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

    展开

    展开全文
  • 配置tomcat启动参数

    万次阅读 2018-05-16 11:24:10
    这个启动参数出了设置jvm的内存大小之外,还有设置tomcat的编码,有些项目要求的的编码不是utf-8编码,这时候则需要修改tomcat的编码。修改文件catalina.sh或者catalina.bat,这个看环境首行加上JAVA_OPTS="-...

    这个启动参数出了设置jvm的内存大小之外,还有设置tomcat的编码,有些项目要求的的编码不是utf-8编码,这时候则需要修改tomcat的编码。

    修改文件catalina.sh或者catalina.bat,这个看环境

    首行加上JAVA_OPTS="-Xms1024m -Xmx1024m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=256m $JAVA_OPTS -Dfile.encoding=GBK"

    这个更具自己需求增加

    如果是windows环境,前面增加set

    注意:linux更改这个文件后,tomcat可能会启动不了,报找不到这个文件,这时候就要看看这个文件权限。linux修改了问加你要重新赋权限。


    展开全文
  • tomcat内存配置配置参数详解

    万次阅读 2017-07-27 13:32:50
    1、jvm内存管理机制:  ...堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。  可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Ja
  • Tomcat 内存配置配置参数详解

    万次阅读 2018-12-27 14:18:03
    堆是在 Java 虚拟机启动时创建的。在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。 可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM...
  • tomcat启动内存配置

    2014-04-03 14:34:59
    1.Eclipse下启动tomcat 变量参数:-Xmx700M -XX:MaxPermSize=300M 2.在使用startup.bat启动 a>编辑startup.bat加入:set JAVA_OPTS=-Xmx700M -XX:MaxPermSize=300M 如下图所示   3.以service方式启动
  • 堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆...
  • 要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。 -Xms:初始值 -Xmx:最大值 -Xmn:最小值 解决办法: 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\...
  • 堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆...
  • 一、常见的Java内存溢出有以下三种:1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过...
  • 点击配置页面中的 Open launch configuration 链接进入 Tomcat 启动配置页面,在 VM arguments 中添加如下参数: -Xms512M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=512m,具体大小根据自己的电脑硬件。 ...
  • -server选项下默认MaxPermSize为64m-client选项下默认MaxPermSize为32m 启动调试 DEBUG_PORT="8222" DEBUG_SUSPEND="n" JAVA_OPTS="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,...
  • 双击tomcat服务器 / tomcat配置选择Open launcher configuration进入配置页面 设置JVM参数如下: -Xms512m -Xmx1024m -XX:MaxPermSize=256m -XX:PermSize=128M 3、参数解释 (1)-Xmx1024m 最大总堆内存 (2)-Xms...
  • Tomcat配置虚拟内存

    2019-10-01 12:52:49
    一、Tomcat启动参数  JAVA_OPTS参数说明 -server 启用jdk 的 server 版; -Xms java 虚拟机初始化时的堆最小内存; -Xmx java 虚拟机可使用堆的最大内存; -XX: PermSize 非堆内存永久保留区域 -XX:...
  • 启动调试     DEBUG_PORT="8222" DEBUG_SUSPEND="n" JAVA_OPTS="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND"      
  • 我的阿里云服务器8G内存启动了5个Tomcat7, 先用下面的配置试一下。【2017-03-25号】set JAVA_OPTS=-Xms512M -Xmx512M -XX:NewSize=256M -XX:MaxNewSize=384M -XX:PermSize=256M -XX:MaxPermSize=256M【以前的配置...
  • 使用Intellij idea 其发动tomcat时会配置启动vm options :-Xms128m -Xmx768m -XX:PermSize=64M -XX:MaxPermSize=512m。但是这些参数到底是什么意思呢? 有时候参数设置大小会出现内存泄漏的问题:OOM(“Out of ...
  • 由于在eclipse中启动tomcat总是报内存错误,permGen space或java heap space。但是我按照网络上的方法修改eclipse的eclipse.ini或者修改tomcat/bin 下的catalina.bat都没有效果。  现在我的正确解决方法是:  1...
  • Tomcat10——JVM内存参数配置

    千次阅读 2020-01-26 21:04:24
    最常见的JVM配置当属内存分配,因为在绝大多数情况下,JVM默认分配的内存可能不能够满足我们的需求,特别是在生产环境,此时需要手动修改tomcat启动时的内存参数分配。 1. JVM内存模型 我们在进行内存参数配置...
  • Tomcat 启动JVM参数配置

    千次阅读 2017-06-05 13:34:01
    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。JAVA程序启动时JVM都会分配一个初始...所以想调整Tomcat启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都
  • omcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 555
精华内容 222
关键字:

tomcat配置内存启动参数