精华内容
下载资源
问答
  • 下面小编就为大家带来一篇JVM Tomcat性能实战(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • jvm tomcat eclipse 远程 断点 debug 调试 jpda 远程断点实图演示
  • JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" cygwin=false ----------------------windows下修改Tomcat JVM内存大小---------------------- 情况一:解压版本的Tomcat , 要...

    常见的内存溢出有以下两种:

    java.lang.OutOfMemoryError: PermGen space

    java.lang.OutOfMemoryError: Java heap space

    一、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大小

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

    二、java.lang.OutOfMemoryError: Java heap space

    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

    ----------------------Linux下修改TomcatJVM内存大小----------------------

    要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.

    # OS specific support.  $var _must_ be set to either true or false.

    JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"

    cygwin=false

    ----------------------windows下修改Tomcat JVM内存大小----------------------

    情况一:解压版本的Tomcat , 要通过startup.bat启动tomcat才能加载配置

    要添加在tomcat 的bin 下catalina.bat 里

    rem Guess CATALINA_HOME if not defined

    set CURRENT_DIR=%cd%后面添加,红色的为新添加的.

    set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

    情况二:安装版的Tomcat ,没有catalina.bat

    安装版的Tomcat下没有catalina.bat

    如果tomcat 6 注册成了windows服务,或者windows2003下用tomcat的安装版,

    在/bin/tomcat6w.exe里修改就可以了 。

    如果tomcat 5, windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

    修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

    原值为

    -Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

    -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

    -Xrs

    加入 -Xms300m -Xmx350m

    重起tomcat服务,设置生效

    ---------------------------------------------------------

    各参数的比例:

    Xmx 与PermSize的和不可超过JVM可获得的总内存

    PermSize不可大于Xmx

    请参见其它的参数详解的文章,各参数值大小的本文不讨论.

    展开全文
  • jvm tomcat远程 断点 debug调试

    千次阅读 2014-07-24 13:40:50
    JVMTOMCAT 远程断点调试 1 基于JVM远程调试 1.1 演示 本例子演示java命令对jar或者class远程断点调试。 以一个简单的jar为例,先生成可运行jar 图 1   图 2   ...
    

    JVMTOMCAT 远程断点调试

    1      基于JVM远程调试

    1.1    演示

    本例子演示java命令对jar或者class远程断点调试。

    1. 以一个简单的jar为例,先生成可运行jar

    1

     

    2

     

    3

     

     

    4

    1. 运行jar -agentlib:jdwp=transport=dt_socket,suspend=y,address=8000

    5

    1. debug程序

    6

     

    7

    1. 进入调试

    8

    2      TOMCAT远程调试

    2.1    演示

    1. 开启jpda

    Tomcat启动脚本主要在catalina.sh文件中,startup.shshutdown.sh脚本只是执行

    ./catalina.sh start/catalina.shstop命令。

     

    开启jpda只需只执行./cataline.sh jpda start即可开启jpda,其中参数默认值如图。

    9

    1. 改变参数值。

    只需在文件中设置对应的JPDA_TRANSPORTJPDA_ADDRESSJPDA_SUSPEND等值

    1. 配置eclipse debug

    配置eclipse,点击debug

    10

     

    1. Debug

    加个断点,点击页面操作(http://192.168.254.217:8280/ym-tweet/ga.do)。如图

    11

    3      参数说明

    Xdebug

    启用调试特性。

    -Xrunjdwp:<sub-options>

    在目标 VM 中加载 JDWP 实现。它通过传输和JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。

    Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是-Xdebug -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug -Xrunjdwp。下面简单描述-Xrunjdwp 子选项。

    1.5以前版本(1.5以后也可用):

    -Xdebug-Xrunjdwp:transport=dt_socket,server=y,address=8000

    1.5及以上版本:

    -agentlib:jdwp=transport=dt_socket,server=y,address=8000

    example:

    java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000-jar test.jar

    transport

    这里通常使用套接字传输。但是在Windows 平台上也可以使用共享内存传输。

    server

    如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。

    address

    这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。

    suspend

    如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接

     

    展开全文
  • eclipse JVM Tomcat 内存堆栈大小设置

    千次阅读 2017-06-23 16:41:18
    JVM 内存设置     打开 eclipse  window - preferences - Java   - Installed JREs   - Edit   - Default VM Arguments      在 VM 自变量中输入: -Xmx128m -Xms64m -Xmn32m -...

    1,  设置Eclipse内存使用情况

         修改eclipse根目录下的eclipse.ini文件

         -vmargs  //虚拟机设置

         -Xms40m //初始内存

         -Xmx256m //最大内存

       -Xmn16m //最小内存

         -XX:PermSize=128M //非堆内存

         -XX:MaxPermSize=256M

     2 JVM内存设置

         打开eclipse  windowpreferencesJava Installed JREs Edit Default VM Arguments   

         VM自变量中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m

     3,  Tomcat内存设置

         打开Tomcat根目录下的bin文件夹,编辑catalina.bat

         修改为:set JAVA_OPTS= -Xms256m -Xmx512m


    展开全文
  • TOMCAT的优化基本分为两个方面: 一、JVM参数的优化 二、TOMCAT自身的配置   一、JVM参数的优化   在/bin目录下的catalina.sh头部加入   写道 JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=GBK...

    TOMCAT的优化基本分为两个方面:

    一、JVM参数的优化

    二、TOMCAT自身的配置

     

    一、JVM参数的优化

     

    在/bin目录下的catalina.sh头部加入

     

    写道
    JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=GBK -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"

      -Dfile.encoding=GBK 是为了支持控制台打印中文,如果设置UTF-8LOG输出中文会乱码,当然一旦项目正式上线应该把LOG级别设置为ERROR,因为LOG的IO对性能影响很大!

    -Djava.awt.headless=true 含义参考以下文章

    http://kdisk-sina-com.iteye.com/blog/1405694

    其它的参数自行百度吧,都是些基本的。

     

    -Xms -Xmx 根据自己服务器的内存自行设置

     

    二、TOMCAT自身配置优化

    主要是server.xml的配置修改,具体的文档可以参考官方http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

     以下是我的配置参考:

    Xml代码  收藏代码
    1.   <Connector   
    2. port="9000"   
    3. protocol="HTTP/1.1"   
    4. maxTreads="500"  
    5. compression="on"   
    6. compressionMinSize="2048"   
    7. noCompressionUserAgents="gozilla, traviata"   
    8. compressableMimeType="text/html,application/xml,application/json,application/javascript,text/css,text/plain"  
    9. connectionTimeout="20000"  
    10. redirectPort="9443"   
    11. disableUploadTimeout="false"  
    12. connectionUploadTimeout="60000"  
    13. URIEncoding="UTF-8"/>  

     maxTreads默认是200,注意有很多参数其实是不需要配置的,比如maxConnections默认就是8192,minSpareThreads默认是10,就是至少运行10个线程,maxSpareThreads TOMCAT7已经没有这个参数了,估计已经做了优化。

     

    MimeType TOMCAT7里javascript和xml都是application了不是text了注意。

      

    compression 开启Gzip压缩支持

    disableUploadTimeout="false"
    connectionUploadTimeout="60000"

     上面两个参数一起配合才能设置文件上传的超时时间为60秒,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调。

     

    如果你是直接加载webapps下的项目,部署在ROOT的,autoDeploy要设置为false,不然reload将导致CPU占用很高以及内存泄露。

    Xml代码  收藏代码
    1. <Host name="localhost"  appBase="webapps"  
    2.             unpackWARs="true" autoDeploy="false">  

     

    如果你是配置Context,那么reloadable设置为false。

     

     

    还有个问题要注意如果你在rc.local加入了tomcat的启动命令来完成开机启动的话,他是先于/etc/profile执行的,也就是说这个时候你设置的JAVA_HOME还没生效呢!所以最好在rc.local里也加入环境变量的设置。

    展开全文
  • 将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。 -Xmn512M:堆中的新生代大小为512M -Xss128K:每个线程的堆栈大小为128K -XX:PermSize=128M:JVM持久代的初始化大小为128M -XX...
  • 以下内容,以tomcat-8.0.14和jdk1.8.0_20为基准,服务器为ubuntu。“java -Xmx3550m -Xms3550m -Xmn2g -Xss128k ”是可以直接命令行设置JVM参数吗?是一次性的而重启后失效吗?这样可以设置jvm的参数;是一次性的。...
  • Tomcat的内存溢出本质就是JVM内存溢出,JAVA程序启动时JVM会分配一个初始内存和最大内存给程序。当程序需要的内存超出内存的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。1.Tomcat异常类型常见的Java内存...
  • 什么是jvm我们从操作系统的层面来理解,jvm其实就是操作系统中的一个进程。既然是一个进程,那么我们很容易的可以通过任务管理器来查看。假设此时我们启动myeclipse(myeclipse其实就是用java语言编写的一个软件,他...
  • 前言安装再docker中的tomcat,在下载大文件或者某些情况下,会出现tomcat的内存溢出等情况,所以需要配置tomcat的内存大小,docker中的tomcat内存大小配置有四种方式。一、修改catalina.sh加入JVM:JAVA_OPTS="-...
  • Tomcat性能调优找到Tomcat根目录下的conf目录,修改server.xml文件的内容。对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优...
  • 今天就由京东资深技术官来详解「Java性能优化」问题,从JVMTomcat、MySQL三种调优方式来详细讲解,以下含一些面试题、脑图以及调优文档等资料。 核心技术JVMTomcat、MySQL面试题一次彻底扫盲 1. 调优篇 JVM知识...
  • JVMtomcat之间的关系,从下面的几个方向说明:1、JVM,java虚拟机,不同设备运行java应用程序的平台。2、Tomcat,apache免费开源的web应用服务器,通过java语言编写,换句话说:tomcat亦是一个java应用程序。-----...
  • Tomcat JVM

    2017-10-07 22:52:49
    ...Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之...Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM
  • zabbix通过jvm监控tomcat

    2018-05-09 15:09:00
    说明:zabbix是通过jvm工具监控tomcat,zabbix server通过连接jvm代理服务器获取tomcat的各种参数 zabbix server:192.168.1.31 tomcat服务器:192.168.1.32 jvm代理服务器:192.168.1.33 1)jvm代理服务器配置 ...
  • 优化jvmtomcat

    2018-12-28 14:14:40
    优化jvm 使用jsonsole或者visaualvm工具可以查看 堆栈线程相关信息 可以有效发现内存泄露 堆内存不足 –Xmx参数 比如 java –Xmx1024M -jar ...tomcat是使用jdk开发 所有首先优化jvm 同上 1》配置内存大小 修改bin/c...
  • apache-tomcat-8.5.63\bin\service.bat 提前...JVM配置参考https://lionli.blog.csdn.net/article/details/82908289 (虚拟机测试给的内存小,有的参数openjdk8不支持就删除了,推荐结合自己的tomcat日志处理) ...
  • java虚拟机jvmTomcat中的jvm有关内存的设置与调优
  • jvm调试- tomcat假死-优化tomcat配置

    万次阅读 2020-09-28 08:25:08
    查看 jvm线程情况 jstack pid jstack pid >1.txt (输出到文件) 通过以上命令,发现,大多数线程处于 time_wating状态的线程占了 90% .分析发现是程序代码有问题,对异常链接没有显示释放关闭等操作,才导致一旦...
  • 文章目录Tomcat注册为系统服务JConsole工具介绍配置JVM参数使用JConsole连接该到该JVM Tomcat注册为系统服务 Tomcat提供了注册为系统服务的脚本,在Tomcat的bin目录下,在CMD中切换到该目录下执行以下命令即可注册为...
  • tomcat其实是一个用java语言开发的免费开源的web服务器(因为是java语言开发,这就是为什么使用tomcat前要配置好jdk,因为jdk里面有jvm,而运行java应用需要jvm)。此时再次查看任务管理器会发现多了一个javaw.exe ...
  • Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。在开发过程中,我们会经常遇到java.lang....所以需要扩大TomcatJVM内存大小。1:java.lang.OutOfMemoryError...
  • 1 什么是性能优化\ 2 性能测试与优化\ 3 性能优化JVM篇\ 4 性能优化Tomcat篇\ 5 性能优化mysql篇\
  • prometheus 监控jvm-tomcat

    千次阅读 2019-10-08 19:37:18
    1.prometheus的配置 - job_name: 'java01' #按照这个来分组 scrape_interval: 10s static_configs: - targets: ['192.168.1.44:6060'] labels: ... instance: jvm44 2.jmx-export...
  • Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一...
  • 第一步、下载软件 官网地址:... Mac客户端 GUI界面 Linux服务端 第二步、安装 1、下载好后把tar包上传的linux服务器,解压。... 2、修改tomcat的bin/catalina.sh文件 CATALINA OPTS=" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,098
精华内容 4,839
关键字:

jvmtomcat