摘要: 什么是VisualVM? VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象, 反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。 VisualVM使用简单,几乎0配置,功能还是比较丰富的,几乎囊括了其它JDK自带命令的所有功能 阅读全文
posted @ 2020-03-04 20:13 wishsaber 阅读(931) 评论(0) 推荐(0)
摘要: 有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增高了、出现了死锁、死循环等,我们该如何分析呢? 由于程序是正常运行的,没有任何的输出,从日志方面也看不出什么问题,所以就需要看下jvm的内部线程的执行情况,然后再进行分析查找出原因。 这个时候,就需要借助于jstack 阅读全文
posted @ 2020-03-04 14:40 wishsaber 阅读(369) 评论(0) 推荐(0)
摘要: 内存溢出在实际的生产环境中经常会遇到,比如,不断的将数据写入到一个集合中,出现了死循环,读取超大的文件等等,都可能会造成内存溢出。 如果出现了内存溢出,首先我们需要定位到发生内存溢出的环节,并且进行分析,是正常还是非正常情况, 如果是正常的需求,就应该考虑加大内存的设置,如果是非正常需求,那么就要对 阅读全文
posted @ 2020-03-04 14:14 wishsaber 阅读(455) 评论(0) 推荐(0)
摘要: 什么是jmap? jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 可以使用jmap生成Heap Dump。 在Java命令Java Dump和Java命令:Jstack中分别有关于Java Dump以及线程 Dump的介绍。 阅读全文
posted @ 2020-03-04 13:48 wishsaber 阅读(2274) 评论(0) 推荐(0)