JVM
文章平均质量分 97
liao0801_123
这个作者很懒,什么都没留下…
展开
-
java排查内存问题的工具清单及流程
平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。闲话不多说,开搞。Linux命令类tail最常用的tail -ftail -300f shopbase.log #倒数300行并进入实时监听文件写入模式grepgrep forest f.txt #文件查找grep forest f.tx转载 2020-06-30 17:37:32 · 475 阅读 · 0 评论 -
JVM宕机问题排查,产生hs_err_pid<pid>.log与replay_pid<pid>.log日志
另一个案例(也比较完善)参考:https://blog.csdn.net/chenssy/article/details/78271744oracle官方文档:https://www.oracle.com/technetwork/java/javase/crashes-137240.htmlhttps://www.oracle.com/technetwork/java/javase/f...原创 2019-11-26 15:54:44 · 8806 阅读 · 1 评论 -
运行一段时间报Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit
部署微服务,20个服务部署到一台腾讯云服务器上. 多个项目运行一段时间均报错:2019-11-23 16:04:19.418 INFO 19851 --- [nio-8780-exec-4] c.c.common.aspect.ControllerLogAspect : http_method : POST2019-11-23 16:04:19.418 INFO 19851 --...原创 2019-11-25 16:32:47 · 7167 阅读 · 0 评论 -
【java虚拟机】栈帧、局部变量表、操作数栈
本文转载至http://wangwengcn.iteye.com/blog/16221951.定义 栈帧(stack frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。 每一个方法从调用开始到执行完成的过程,就对应着一个栈帧在虚拟机栈里面从入栈到出栈...原创 2018-12-24 01:01:00 · 470 阅读 · 0 评论 -
Unsafe类详解(用来分配堆外内存)
Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty、Cassandra、Hadoop、Kafka等。Unsafe类在提升Java运行效率,增强Java语言底层操作能力方面起了很大的作用。Unsafe类使Java拥有了像C语言的指针一样操作内存空间的能力,同时也带来了指针的问...原创 2018-12-18 15:38:42 · 3649 阅读 · 0 评论 -
阿里开源工具 TProfiler --在海量业务代码中精确定位性能代码
如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多、有大量的业务线程在频繁创建一些生命周期很长的临时对象,代码里有问题。那么问题来了,如何在海量业务代码里边准确定位这些性能代码?本文将介绍如何使用阿里开源工具 TProfiler 来定位这些性能代码,成功解决掉了 GC 过于频繁的性能瓶颈,并最终...原创 2019-01-03 19:47:03 · 454 阅读 · 0 评论 -
《深入理解Java虚拟机》--阅读笔记
相关文字笔记心得https://www.cnblogs.com/wtzbk/p/7985156.html内存布局及GC导图思维导图V1.0下载地址:《深入理解java虚拟机》思维导图思维导图V1.1下载地址(右键另存为):《深入理解java虚拟机》思维导图细分导图本篇文章是对周志明的《深入理解Java虚拟机》的读书笔记,思维导图使用Mindjet MindMan...原创 2019-01-06 00:35:49 · 143 阅读 · 0 评论 -
jvm与调优内容综合
下面的文章较为全面介绍了jvm和jvm/gc调优部分,个人认为比较全面,特此总结到一起方便以后复习及配合开发jvm系列(一):java类的加载机制https://blog.csdn.net/ityouknow/article/details/77989551jvm系列(二):JVM内存结构https://blog.csdn.net/ityouknow/article/details...原创 2019-01-24 00:42:08 · 120 阅读 · 0 评论 -
POI导出大数据量解决方案
导出报表导不出 一个月:分析问题:1、开始认为报表查询sql不够优化,sql优化多次之后 发现在生产数据库,sql根本就查询不出结果集;2、如果sql或存储过程查询很慢会造成数据库连接超时;3、POI HSSFWorkbook、XSSFWorkbook生成excel 文档会造成JVM内存溢出;4、如果数据库返回结果集太多,也会造成内存溢出5、http请求超时6、ja...原创 2020-08-12 01:16:50 · 792 阅读 · 1 评论 -
JVM调优建议
在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与出现问题时排查的便捷性也很重要。这是本文的一个原则,后面也会一次又一次的强调,所以与网上其他的文章略有不同,请调优高手和运维老大们多指引。前言1,资料学**开源项目的启动脚本是个不错的主意,比如Cassandra家的, 附送一篇解释它的文章。JVM调优的"标准参数"的各种陷阱R大的文章,在JDK...原创 2019-03-13 11:16:12 · 319 阅读 · 0 评论 -
通过Thread类getAllStackTraces方法自定义线程监控页面
<div class="star"> <% out.println("线程数量:" + Thread.getAllStackTraces().size()); for (Map.Entry<Thread, StackTraceElement[]> stackTrace : Thread.getAllStackTraces().entrySet(...原创 2018-12-17 14:02:29 · 1119 阅读 · 0 评论 -
JVM调优的部分参数详解
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m -Xms3550m -...原创 2018-12-16 22:58:34 · 206 阅读 · 0 评论 -
JIT编译器(Just In Time)
相关阅读https://blog.csdn.net/u011523796/article/details/80415651https://blog.csdn.net/tjiyu/article/details/53948009浅谈对JIT编译器的理解。1. 什么是Just In Time编译器?Hot Spot 编译当 JVM 执行代码时,它并不立即开始编译代码。这主要有两...转载 2018-12-16 17:46:41 · 593 阅读 · 0 评论 -
查看JVM的GC日志
Java GC类型Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 UseParNewGC 打开此开关参数后,使用ParNew...原创 2018-10-12 10:12:04 · 36169 阅读 · 0 评论 -
MAT内存分析工具使用实例java
转载自:https://my.oschina.net/biezhi/blog/286223在工作中可能会遇到内存溢出这种灾难性的问题,那么程序肯定是存在问题,找出问题至关重要,上一篇文章讲了jmap命令的使用方法,当然用jmap导出的文件我们也看不懂啊,那就交给memory analyzer(mat)这个工具,让他帮助我们来观察程序的内存分布情况吧。 1. 用jmap生成堆信息 2....转载 2018-09-29 17:49:29 · 5350 阅读 · 2 评论 -
jstat命令详解
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是jdk8.类加载统计:C:\Users\Administrator>jstat -class 2060Loaded Bytes Unloaded Bytes Time 15756 1...转载 2018-09-30 14:20:28 · 422 阅读 · 0 评论 -
jstat结合 jvisualvm.exe(java自带内存分析工具)分析内存泄漏实例
jstat是jdk自带的可以查看堆内存使用量及GC情况的指令.具体情况请看另一篇博客:https://blog.csdn.net/liao0801_123/article/details/82908928jvisualvm.exe是java的jvm内存/线程监视工具, 位于jdk--bin目录下以下通过一则简单的内存泄漏案例结合使用两个工具.内存泄漏代码: class K...原创 2019-04-22 17:59:13 · 843 阅读 · 0 评论 -
NoClassDefFoundError
https://blog.csdn.net/qq_27576335/article/details/77102385http://www.cnblogs.com/xyhz0310/p/6803950.htmlhttps://www.cnblogs.com/yxysuanfa/p/7230299.htmlhttps://www.cnblogs.com/liuyun1995/p/81447...原创 2018-12-26 19:47:23 · 1059 阅读 · 0 评论