
jvm
a大魔王
一起打代码?
展开
-
jvm性能调优工具 jstack
jdk1.8 jstackjstack是jdk自带的线程堆栈分析工具,使用该命令可以查看线程id,线程状态,是否持有锁。或导出java应用程序中线程堆栈信息。原创 2020-09-07 10:03:18 · 24515 阅读 · 0 评论 -
jvm性能调优工具 jhat
jdk1.8 jhatjhat是一个用来分析java的堆情况的命令,是java虚拟机自带的一种分析工具。可以用jhat命令将dump出来的hprof文件转成html形式,然后通过http访问查看堆情况。一般不会直接在服务器上进行分析,因为jhat是一个耗时并且消耗硬件资源的。show instance counts for all classes(excluding platform)平台外的所有对象信息。show heap histogram显示堆的统计信息。...原创 2020-09-07 10:16:28 · 24713 阅读 · 0 评论 -
jvm性能调优工具 jmap
jdk1.8 jmapjmap是一个多功能的命令,它可以生成java程序的dump文件,也可以查看堆内的对象实例统计信息,查看类加载的信息和finalizer队列。jmap pid:查看进程的内存映像信息。jmap -heap pid:显示java堆详细信息jmap -histo:live pid:显示堆中对象的统计信息jmap -clstats pid:打印类加载器信息jmap -finalizerinfo pid:打印等待终结的对象信息jmap -dump:format-b,fi原创 2020-09-07 10:03:51 · 24526 阅读 · 0 评论 -
jvm性能调优参数 收集器
jvm垃圾回收器新生代收集器Serial:是一款用于新生代的单线程收集器,采用复制算法进行垃圾收集。不仅用一条线程执行垃圾收集工作,它在收集的同时,所有用户线程必须暂停。一般单核服务器使用,可以用-XX:+UserSerialGC来选择Serial作为新生代收集器。 ParNew:是一个Serial多线程版本,ParNew在单核CPU环境中并不会比Serial收集器达到更好的效果,它默认开启的线程数和cpu数量一致。可以用-XX:+ParallelGCThreads来设置垃圾收集的线程数。新生代收原创 2020-09-05 10:00:51 · 24163 阅读 · 0 评论 -
jvm性能调优工具 jinfo
jdk1.8 jinfojinfo是jdk自带的命令,可以用来查看正在运行的java应用程序的扩展参数。包括java系统属性和jvm命令行参数,也可以动态的修改正在运行的jvm一些参数,当系统崩溃时,jinfo可以从core文件里面知道崩溃的java应用程序的配置信息。Java corejavacore,它是java提供的一种诊断特性,能够提供一份可读的当前运行的jvm中线程使用情况的快照,jvm中有哪些线程在运行,每个线程执行到哪一个类,哪一个方法。应用程序如果出现不可恢复的错误或是内存泄漏原创 2020-09-04 09:06:55 · 23602 阅读 · 0 评论 -
jvm性能调优工具 jstat
jdk8 jstatjstat是jdk自带的一个轻量级小工具,可以查看堆内存各各部分的使用量,以及加载类的数量。格式:jstat 【-命令选项】【间隔时间/毫秒】【查询次数】jps -v:查看所有进程的pidjstat -options:查看当前jvm版本支持的选项。jstat -class pid:类加载统计 Loaded:加载的class数量 Bytes:加载的class数量所占用空间大小(kb) Unloaded:未加载的class数量 Bytes:未加载的...原创 2020-09-03 11:23:56 · 17919 阅读 · 0 评论 -
java堆内存详解操作
堆的内存划分java堆内存划分为新生代,老年代,永久代,在jdk1.8中永久代被元空间取代。新生代又分为三个空间分别为eden,s0,s1区。新生代:使用复制清除算法,新生代每次gc都会回收大部分对象,新生代里面分成一份较大的eden空间和两份较小Survivor空间,每次只使用eden和其中一块survivor空间,每次垃圾回收的时候把存活对象复制到未使用的survivor空间中,然后清空eden空间和刚刚使用的survivor空间。eden空间和survivor空间比例为8:1:1,内存不足时发原创 2020-09-02 09:57:21 · 18191 阅读 · 0 评论