2026/2/20 7:21:58
网站建设
项目流程
惠安建设局网站,八年级上册信息书怎么做网站,湖北网站建设路,it从零开始学大概要学多久我们对这个jar包#xff0c;要监控什么#xff0c;为什么jvm需要调优#xff0c;怎么监控指标#xff0c;什么时候需要去进行调优呢.
这里先做一个第一版的总结#xff1a;
我们知道#xff0c;在java、中#xff0c;是不用去进行内存管理的。
内存管理#xff0c;由GC…我们对这个jar包要监控什么为什么jvm需要调优怎么监控指标什么时候需要去进行调优呢.这里先做一个第一版的总结我们知道在java、中是不用去进行内存管理的。内存管理由GC做了我们需要做的就是去了解GC这里先简单的过一遍这个jvm会做到事情1.判断对象什么时候可以被回收、使用引用计数法或者可达性分析2.在jvm中使用了常见的垃圾回收器选择对应的垃圾回收算法来处理这些被回收的对象。这里花费一些篇幅讲垃圾回收算法1.标记清除算法2.复制算法3.标记整理算法4.分代收集算法垃圾回收器1.适用于个人电脑的串行垃圾收器使用标记整理算法单线程垃圾回收所有的都stw2.并行垃圾回收器jdk8默认使用parallel new作用于新生代。复制算法parallel old作用于老年代标记整理算法java中多线程工作但是垃圾回收的时候要stw3.cms垃圾回收器垃圾回收的时候不会stw4.G1垃圾回收器对于这些垃圾回收器应该如何选择使用。一般来说吞吐量优先的垃圾回收器-XX:UseParallelGC -XX:UseParallelOldGC即常规的PS/PO响应时间优先的垃圾回收器CMS、G1为什么需要调优呢两个问题1.gc出现问题了heap老年代内存fullgc次数频繁gc停顿长出现oom或者outofmemoryerror问题。就是这个指标等监控的时候出现问题了。2.其他指标出现了问题想要提高吞吐量或者低延迟的指标硬件的内存cpu指标过高有本地缓存或者占用大量的空间就是不是jvm内部的指标出现问题了而是对于项目的其他因素产生了不好的影响。如何监控到jvm的状态或者异常1.使用arthas监控jar包正在运行的状态2.cpu过高内存过高cpu过高找到对应的进程id线程id使用jstack打印出对应的堆栈信息内存过高找到对应的进程id使用jmap的命令找到对应的内存分配情况哪个对象占用内存多哪些存活对象占用内存多如何进行调优1.找到问题点直接修改代码导出oom、的dump文件用工具分析2.在jvm启动的时候加上参数这里先说一下可以加的参数类型1.java初始化内存的设置xms2.java运行时内存设置xmx3.指定分代回收算法新生代老年代的比例4.指定垃圾回收器5.打印gc日志如何处理相关的问题的思路1.ygc耗时过长的处理防范2.线上频繁fullgc的处理方案是什么