前言如果你从事Java开发多年,还没用过JVM分析工具,还没尝试着通过对JVM的dump日志来进行故障定位和性能调优,那么可以说是你职场生涯中的一大遗憾,也是一种能力的缺失。这篇文章就基于一款JDK自带的工具(VisualVM),然后编写内存溢出的案例,带大家体验一下JVM分析的入门。文中涉及到多个知识点的融合与实战经验分享,读者可留意一下。VisualVM简介VisualVM是Netbeans的
JVM内存的大概划分:JVM内存区域分为两部分:堆内存区(heap)和非堆内存区(非heap)。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen或叫Old area(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method S
本文来说下常见的几款JVM监控工具 文章目录概述jps:查看正在运行的Java进程jstack:打印线程快照jmap:导出堆内存映像文件jstat:查看jvm统计信息jinfo:实时查看和修改jvm配置参数本文小结 概述在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆
转载 2024-03-17 18:49:35
96阅读
Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法 在做性能测试时,单纯的只看响应时间、错误率、中间值远远不够的,有时需要监控服务cpu、内存等指标来判断影响性能的瓶颈在哪。操作步骤:一、Linux下配置jmeter环境1、在linux环境下安装jdk。  #  rpm  -ivh  jdk-8u121-linux-x64.rpm2
转载 2024-04-20 22:58:05
286阅读
性能测试监控中,监控Linux环境下应用内存方法如下:---------------------------------------------------------------------------------------------------------------------------有两种方法:方法一:使用 Xing+Putty方式监控  获知待监控的Linux
转载 2024-04-07 10:37:03
74阅读
参看 http://developer.51cto.com/art/201203/321461.htm
原创 2012-03-06 20:42:40
683阅读
1,JVM specification s(JVM 规范) 对JVM 内存的描述2,Sun 的JVM内存机制。JVM specification 对JVM 内存的描述首先我们来了解JVM specification 中的JVM 整体架构。如下图:主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engin
一、JDK下提供的工具1、jps (JVM Process Status) JDK的bin目录下,用于查询LVMID(列出虚拟机进程号)参数:-q   只显示进程号。           -m  输出启动时传递给主类main()函数的参数。-l    输出主类的全名,如果进程执行
转载 2024-03-25 15:23:45
34阅读
JVM内存异常例子 [color=red][b]java.lang.OutOfMemoryError: PermGen space[/b][/color] permanent space持久空间: 用于类和方法对象的存储。spring在AOP时使用CBLIB会动态产生很多类,JSP页面, Java反射类,当类太多,超过MaxPermSize的时候,就会
转载 2024-03-12 10:26:58
93阅读
free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控工具中,free命令是最经常使用的命令之一。本文介绍free命令的使用方法和数值解释。在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在Linux系统如何查看内存使用情况呢?下面和大家分享在Linux系统下查看内存使用情况的free命令:51CT
目录1.jps:虚拟机进程状况工具2.jstat:虚拟机统计信息监视工具3.jinfo:Java配置信息工具4.jmap:Java内存映像工具5.jstack:Java堆栈跟踪工具当我们给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里的数据包括:运行日志、异常堆栈、GC日志、线程快照、堆转储快照等。使用适当的虚拟机监控和分析工具可以加快我们分析数据、定
转载 2024-04-05 10:54:56
43阅读
jvisualVm是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。远程服务器上的JVM监控就需要一些额外的配置。目前VisualV
转载 2024-02-22 03:15:18
47阅读
jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况1、为什么会发生内存泄漏?如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Heap中获取足够的内存分配给对象,这时候就会导致内存溢出。出现内存泄露的地方,一般是不断的往容器中存放对象,而容器没有相应的大小限制或清除机制。2、内存泄漏的现象:程序中抛出OutOfMemoryErr
转载 2024-04-17 10:58:49
44阅读
引用:://blog.163.com/ask_rent@yeah/blog/static/13989366320115229129562/?suggestedreadingVisualVM是一种集成了
转载 2012-09-17 14:59:00
124阅读
2评论
[code="java"]jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java
原创 2023-05-10 14:33:20
191阅读
前言:        上一个专题中讲述了JVM中自带的各种性能测试的小工具:包括jps,jstatck,jmap,jhat,jsats,hprof        这样会造成不必要的麻烦,难道就没有一个tool可以 包括如上所有的功能?答案是有的,自从 JDK 6 Update 7以后,提供了一全新的性能检测工具:Vis
目录第一步:下载dump.hprof 文件第二步:MAT打开dump文件MAT主要有3个常用功能:功能1:Dominator Tree功能2:Histogram功能3: Leak SuspectsJava JVM内存溢出问题排查总结:第一步:下载dump.hprof 文件jps 查看java 进程PID根据PID下载dump文件jmap -dump:format=b,file=F:/donwloa
  JVM 虚拟机架构(图片来源: 浅析Java虚拟机结构与机制)JVM 内存区域JVM会将Java进程所管理的内存划分为若干不同的数据区域. 这些区域有各自的用途、创建/销毁时间:(图片来源: JAVA的内存模型及结构)一. 线程私有区域线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束而创建/销毁(在Hotspot VM内, 每个线程都与操作
转载 2024-05-14 21:10:42
28阅读
一、JVM介绍JVM(Java Virtual Machine)作为JDK的必需品,是运行java程序是不可少的一个元素。它是java得以跨平台的核心组件,包揽了从java代码的编译、优化到内存管理的多种功能。Java之所以比C高级,是因为他屏蔽了一些C进行底层操作的功能,例如指针。Java使用自动化的方式进行内存管理,一切与内存有关的琐事都交予JVM来管理。使得开发人员无需使用诸如:释放指针(d
转载 2024-04-04 10:39:46
42阅读
1.jps查看JVM进程信息的监控工具。2.jstat查看JVM性能相关信息的监控工具,最主要的就是垃圾回收,显示堆内存的使用情况。
原创 2022-12-31 01:18:41
100阅读
  • 1
  • 2
  • 3
  • 4
  • 5