Tomcat优化和JVM分析工具】的更多相关文章

Tomcat的常见优化和JVM常见分析工具 Tomcat的常用优化配置 (1) 内存空间: /etc/sysconfig/tomcat JAVA_OPTS="-server -Xms32g -Xmx32g -XX:NewSize= -XX:MaxNewSize= -XX:PermSize= -XX:MaxPermSize=" -server:服务器模型 -Xms:堆内存初始化大小: -Xmx:堆内存空间上限: -XX:NewSize=:新生代空间初始化大小: -XX:MaxNewSiz…
主要介绍JVM的分析工具: jps jps:Java Virtual Machine Process Status Tool http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html jps [ options ][ hostid ] -q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数 -m -m 输出传递给main 方法的参数,在嵌入式jvm上可能是null -l 输出应用程序main cl…
Tomcat中的线程池(APR和ThreadPool) 2. 在Connector中指定使用共享线程池: <Connector executor="tomcatThreadPool"           port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443&…
http://domark.iteye.com/blog/1924302   这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了.上网搜了搜,发现下面这些是比较常用的,然后我在机器上试试了,把结果也贴出来哈. 1.jps 类似ps -ef|grep java 显示java进程号 或者pgrep java2.jstack 打印jvm内存的堆栈信息,打印出来的结果类似 2010-04-21 20:10:51 Full thread…
1.概述 无可避免地,我们都需要用到多线程的一天.单纯地使用多线程的参数设置,比如-Xms.-Xmx.-Xss等,还不足够,我们还要学会如何分析JVM里面的线程状况. 在进行java程序问题定位时,内存问题定位是很关键的,jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,工具的使用会有所限制.所有的工具几乎都是依赖于…
目录 一.业务背景 二.Jdk-Bin目录 三.命令行工具 1.jps命令 2.jinfo命令 3.jstat命令 4.jstack命令 5.jmap命令 四.可视化工具 1.jconsole 2.visualvm 五.参考源码 内存溢出,妥妥的名场面: 一.业务背景 对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题: 在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的动作,直接唤醒了隐藏许久的BUG…
Android提供的dumpsys工具能够用于查看感兴趣的系统服务信息与状态,手机连接电脑后能够直接命令行运行adb shell dumpsys 查看全部支持的Service可是这样输出的太多,能够通过dumpsys | grep "DUMP OF SERVICE" 仅显示基本的Service的信息 一.列出dumpsys全部支持命令 > adb shell $ dumpsys | grep "DUMP OF SERVICE" 下面是在我个人三星S3手机上的输…
jinfo 可以输出并修改运行时的java 进程的opts. jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强的监视VM内存工具.可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量. jmap 打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量). jconsole 一个java GUI监视工具,可以以图表化的形式显示各种数据.并可通过远程连接监视远程的服务器V…
bin/jvisualvm.exe 可查看类实例数 bin/jconsole.exe 监控线程,堆,等 http://blog.csdn.net/yaowj2/article/details/7107818 https://blog.csdn.net/janekeyzheng/article/details/41075791…
摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 作为AllInOne的智能化服务技术栈,UAVStack提供了非常全面的监控数据采样功能,同时支持数据监控与预警.近期,我们整合了原有的数据采集展示功能,新增JVM分析功能,推出了更易用的JVM监控分析工具. 熟悉JDK的开发者都知道,JDK本身提供了一套JVM分析工具,包括jinfo.jmap.j…
JVM分析工具有很多; jdk自带工具:jconsole.jvisualvm 其他工具:jprofile ,yourkit等 不要在线上用,影响性能,在测试环境中使用. 一.jconsole ——jdk自带工具分析  内存监控——内存”页签相当于可视化的jstat命令的话 1.没有任何操作,内存还在上升,why??? rmi协议导致的,rmi通信的时候会产生一些对象,所以这里内存会上升,可以点击右上角的绿色那个,断开rmi连接,就不会增长了. 执行gc这里是full-gc,系统调用都是full-…
Java性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面) 代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容如下: 1.增加最大连接数 2.调整工作模式 3.启用gzip压缩 4.调整JVM内存大小 5.作为Web服务器时,与Apache整合或Nginx 6.合理选择垃圾回收算法 7.尽量使用较新JDK版本 生产配置实例: <Connectorport="8080"protocol="org…
JVM性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收机制)代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容 1.增加最大连接数 2.调整工作模式 3.启用gzip压缩 4.调整JVM内存大小 5.作为web服务器时.无Apache整合或者nginx 6.合理选择垃圾回收算法 7.尽量使用较新的JDK版本 生产配置实例 <Connectorport="8080"protocol="org.apache.coyot…
Java本身提供了多种丰富的方法和工具来帮助开发人员查看和分析GC及JVM内存的状况,同时开源界和商业界也有一些工具可用于查看.分析GC及JVM内存的状况.通过这些分析,可以排查程序中内存泄露的问题及调优程序的性能.下面介绍几种常用的免费工具,其中知名的有JProfiler 等. 1. 输出GC日志 输出GC日志对于跟踪分析GC的状况来说,无疑是最直接地分析内存回收状况的方法,只是GC日志输出后需要人为地进行分析,以判断GC的状况. JVM支持将日志输出到控制台或指定的文件中,方法有如下几种.…
-Xmx4G 设置堆的最大内存大小为4GB,也可通过-XX:MaxHeapSize=4GB进行设置 -Xms256m 设置堆的初始内存大小为256兆,如果未设置此选项,则初始大小将设置为新生代和年老代分配的内存大小总和,也可通过-XX:InitialHeapSize=256m进行设置 -Xmn256m 设置新生代的初始内存大小和最大内存大小为256兆,也可通过-XX:NewSize=256m设置新生代初始内存大小.-XX:MaxNewSize=256m设置新生代最大内存大小 -Xss256k 设…
前言 在这个系列的前四篇文章中,我分别介绍了DVM.ART.内存泄漏和内存检测工具的相关知识点,这一篇我们通过一个小例子,来学习如何使用内存分析工具MAT. 1.概述 在进行内存分析时,我们可以使用Memory Monitor和Heap Dump来观察内存的使用情况.使用Allocation Tracker来跟踪内存分配的情况,也可以通过这些工具来找到疑似发生内存泄漏的位置.但是如果想要深入的进行分析并确定内存泄漏,就要分析疑似发生内存泄漏时所生成堆存储文件.堆存储文件可以使用DDMS或者Mem…
Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解   Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中.long_query_time的默认为10,意识是运行10秒以上的语句.由它来看那些SQL语句超出了我们的最大忍耐值,比如一条SQL执行超过了5秒,我们就算慢查询,我们就可以结合Explain进…
如果要进行SQL的调优优化和排查,第一步是先让故障重现,但是这个并不是这一分钟有问题,下一秒就OK.一般的企业一般是DBA数据库工程师从监控里找到问题.DBA会告诉我们让我们来排查问题,那么可能很多种原因,也许是程序内存泄漏.也许是网络.也许是死锁.也许是SQL写的烂.假设是SQL问题我们需要把SQL抓出,一般就是在测试环境跑一下SQL,重现故障.首先打开我们的慢查询日志,这样把有问题的SQL排查出来,然后用EXPLAIN分析一下,一般到了这一步应该会找到相应问题所在.但是如果还是没有解决,SQ…
获得堆转储文件 巧妇难为无米之炊,我们首先需要获得一个堆转储文件.为了方便,本文采用的是 Sun JDK 6.通常来说,只要你设置了如下所示的 JVM 参数: -XX:+HeapDumpOnOutOfMemoryError JVM 就会在发生内存泄露时抓拍下当时的内存状态,也就是我们想要的堆转储文件. 如果你不想等到发生崩溃性的错误时才获得堆转储文件,也可以通过设置如下 JVM 参数来按需获取堆转储文件. -XX:+HeapDumpOnCtrlBreak 除此之外,还有很多的工具,例如 JMap…
JDK 提供了一系列用于监控.诊断 Java 进程的工具,它们在 JDK 安装目录的 bin 目录下,有 jps.jcmd.jstack.jinfo.jmap 等.其中jmc.jconsole.jvisualvm 是 GUI 工具,其他大部分都是命令行工具. cd $JAVA_HOME/bin ls 本篇只是个入门介绍,不涉及深入分析.每一个工具都有它专门的作用,掌握使用方法只是很简单的入门阶段,更重要的是根据工具得到的信息去分析系统存在的问题以及性能瓶颈,每一个工具的使用和分析都可以单独成文.…
一.JDK的命令行工具 1.jps(JVM Process Status Tools):虚拟机进程状况工具 jps -l 2.jinfo(Configuration Info for java):Java配置信息工具 jinfo [option] pid 3.jmap(Memory Map for java):java内存映像工具 用于生成堆转储快照,即dump文件 jmap -dump:format=b,file=eclipse.bin 3500 #3500是通过jps命令拿到的LVMID 4…
JVM组成.GC回收机制.算法.JVM常见启动参数.JAVA出现OOM,如何解决.tomcat优化方法…
如何利用 JConsole观察分析Java程序的运行,进行排错调优 http://jiajun.iteye.com/blog/810150 如何使用JVisualVM进行性能分析 http://jiajun.iteye.com/blog/1180230 全功能的Java剖析工具(profiler) http://www.blogjava.net/mrzhangshunli/archive/2007/08/27/140088.html http://www.cnblogs.com/jayzee/p…
非常多开发人员认为自己懂Java编程.事实是大多数开发人员都仅仅领会到了Java平台的皮毛.所学也仅仅够应付工作. 作者将深度挖掘Java平台的核心功能.揭示一些鲜为人知的事实.帮助您解决最棘手的编程困难. 当应用程序性能受到损害时,大多数开发者都惊慌失措.这在情理之中. 跟踪Java应用程序瓶颈来源一直以来都是非常麻烦的,由于Java虚拟机有黑盒效应,并且Java平台分析工具一贯就有缺陷. 然而,随着Java5中JConsole的引入,一切都发生了改变. JConsole是一个内置Java性能…
java堆空间分为  新生代 ,老年代 , 持久代 各自有各自的垃圾回收算法 eden区:新生的对象存放在这经常被回收 from  .to  存活区 在老年代,回收的频率不是很高 jdk8 就没有持久代了 重名为元数据 默认jdk的内存空间太小需要优化 Tomcat的常用优化配置: (1) 内存空间: /etc/sysconfig/tomcat JAVA_OPTS="-server -Xms32g -Xmx32g“ 访问:tomcat主页  ---server  status 2) 线程池设置:…
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况.即使是本文中的这个只有一个页面的超小项目,在并发达到一定程度后也会抛出以下类似异常: 严重: Exception invoking periodic operation: ja…
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况.即使是本文中的这个只有一个页面的超小项目,在并发达到一定程度后也会抛出以下类似异常: 严重: Exception invoking periodic operation: ja…
JDK自带的JAVA性能分析工具.它已经在你的JDK bin目录里了,只要你使用的是JDK1.6 Update7之后的版本.点击一下jvisualvm.exe图标它就可以运行了. 这里是VisualVM 的官方网站:https://visualvm.dev.java.net,资料很全,同时提供VisualVM最近版本下载. 1.安装 只要安装JDK即可,运行jvisualvm.exe ,选择[工具]——[插件]——[可用插件] · 2使用 2.1.远程机器设置 要从远程应用程序中检索数据,需要在…
为什么要写一个jvm的工具入门呢,一是自己也不会,二是因为不会所以想学一下,还有就是这个确实很重要,对学习jvm有很多的用处,对定位问题有很大的便利,以前毕业那会我记得有个笔试,知道JAVA_HOME/bin目录的工具吗,例举下3个以上,并说说有什么用,可以怎么使用,,,,我只能说呵呵了,写代码哪里要注意这么多哈 一.基础了解 我们一般安装java,首先都会来一个java命令(现阶段java8和11用的人比较多,我这里还是8) D:\Data\lugh1>java 用法: java [-opti…
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操作内容.打开它,可以显示最忙和最空闲收集行为发生的时间.收集前后的内存大小.收集需要的时间等. 打开-xx:+ printGCdetails开关,可以详细了解GC中的变化. 打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发…