当前位置: 首页 > news >正文

WordPress知更鸟主题怎样安装seo专业优化公司

WordPress知更鸟主题怎样安装,seo专业优化公司,杭州网站设计工作室,怎么自己做一个小程序JVM调优工具详解 一、前置准备 启动Web应用后&#xff0c;用jps查看进程ID&#xff1a; jps -l二、Jmap工具详解 1. 内存分析 jmap -heap <pid> # 查看堆内存配置输出关键字段说明&#xff1a; NewRatio&#xff1a;新生代/老年代比例SurvivorRatio&#xff1a;Eden/Sur…

JVM调优工具详解

一、前置准备

  1. 启动Web应用后,用jps查看进程ID:
jps -l

二、Jmap工具详解

1. 内存分析

jmap -heap <pid>  # 查看堆内存配置

输出关键字段说明:

  • NewRatio:新生代/老年代比例
  • SurvivorRatio:Eden/Survivor比例
  • MetaspaceSize:元空间初始大小

2. 堆Dump生成

jmap -dump:format=b,file=heap.hprof <pid>

自动导出Dump配置(添加JVM参数):

-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=./ 

3. 内存泄漏分析

使用jvisualvm分析Dump文件:

  • 查看大对象:char[]String常驻内存
  • 对比多个Dump文件发现异常增长对象

三、Jstack死锁检测

1. 死锁示例代码

public class DeadLockTest {private static Object lock1 = new Object();private static Object lock2 = new Object();public static void main(String[] args) {new Thread(() -> {synchronized (lock1) {Thread.sleep(5000);synchronized (lock2) { // 此处发生死锁 }}}).start();new Thread(() -> {synchronized (lock2) {Thread.sleep(5000);synchronized (lock1) { // 此处发生死锁 }}}).start();}
}

2. 检测命令

jstack <pid> | grep -A 20 "deadlock"

输出特征:

"Thread-1" prio=5 tid=0x000000001fa9e000 nid=0x2d64 java.lang.Thread.State: BLOCKED

3. 可视化检测

使用jvisualvm的线程分析功能自动检测死锁


四、Jstat监控工具

1. 核心命令格式

jstat -<option> <pid> [interval] [count]

2. 常用监控项

命令说明关键指标
jstat -gcGC统计YGC/YGCT(年轻代GC次数/耗时)
jstat -gccapacity堆内存统计OC/OU(老年代容量/使用量)
jstat -gcmetacapacity元空间统计MC/MU(元空间容量/使用量)

五、Jinfo参数查看

jinfo -flags <pid>      # 查看JVM参数
jinfo -sysprops <pid>   # 查看系统参数

六、调优实战案例

场景:频繁Full GC

现象

  • 2核4G服务器,7天内Full GC 500+次(200+秒)
  • Young GC 1万+次(500+秒)

原JVM配置

-Xms1536M -Xmx1536M -Xmn512M 
-XX:SurvivorRatio=6 
-XX:+UseConcMarkSweepGC

诊断过程

  1. 通过jstat发现对象晋升过快:
jstat -gc <pid> 300000 10  # 每5分钟采样
  1. jmap分析大对象:
jmap -histo <pid> | grep com.tuling.jvm.User
  1. 定位到问题代码:
// 每次查询创建5000个User对象
private ArrayList<User> queryUsers() {ArrayList<User> users = new ArrayList<>();for (int i = 0; i < 5000; i++) {users.add(new User(i, "zhuge")); // 产生500MB+对象}return users;
}

优化方案

  1. 增加年轻代大小避免过早晋升:
-Xmn1024M  // 年轻代扩容至1G
  1. 修复代码:分页查询/对象复用
  2. 缓存框架替代HashMap(防内存泄漏)

七、JVM优化思路总结

  1. 年轻代调优原则

    • 存活对象 < Survivor区50%
    • 根据jstat -gc的EU估算对象增长速率
    • 计算Young GC频率:Eden大小 / 对象增速
  2. Full GC预防

    -XX:CMSInitiatingOccupancyFraction=92  // 提高CMS触发阈值
    -XX:+DisableExplicitGC               // 禁止System.gc()
    
  3. 内存泄漏排查

    • 定期用jmap对比Histogram
    • 关注Finalizer队列积累
    • 避免过大的缓存(采用LRU淘汰策略)

通过jvisualvm远程监控配置:
java -Dcom.sun.management.jmxremote.port=8888 -Djava.rmi.server.hostname=ip -jar app.jar

http://www.dtcms.com/a/587416.html

相关文章:

  • 花都网站建设公司php大流量网站开发规范
  • 同心食品厂网站建设项目任务分解优化seo教程技术
  • 政务网站建设目标和核心功能总部在深圳的互联网公司
  • 浏览器缓存策略
  • 北京网络公司网站莱芜信息平台
  • 重庆企业公司网站建设公司网站域名怎么注册
  • 阿里云网站托管南宁市网站开发公司
  • discuz仿搜索网站企业网站建设ppt介绍
  • 跑腿网站建设哪里搜索引擎优化好
  • 高校思政专题网站建设ps做网站一般用多大字体
  • XLOOKUP:集 VLOOKUP 与 INDEX+MATCH 于一身的终极查找函数
  • 网站推广主要方法苏州二建建筑集团有限公司
  • 3.String、StringBuilder、StringBuffer:性能差别多大?
  • 输入框无法onChange两种解决思路
  • 网站建设服务商都有哪些网站建设哪个公司比较好
  • 个人网站效果企业网站建设代理加盟
  • 网站班级文化建设三只松鼠的网站建设
  • 35网站建设深圳建筑协会
  • 上海设立企业网站中山做网站推广公司
  • 想学学做网站网站建设与维护税率
  • 薛城网站建设可视网站开发工具
  • 徐州市经济技术开发区建设局网站wordpress md5工具
  • 比较好的做网站的公司郑州seo顾问阿亮
  • 厦门网站建设有哪些公司wordpress博客怎么用
  • 郑州服装 网站建设专业的东莞网站排名
  • 中国网站建设的利弊建设英文网站的必要性
  • 有域名了如何自己做网站浪漫的html表白源代码
  • 五金机械设备网站模板建设北京做网站建设
  • 房管局备案查询网站表情包做旧网站
  • 珠宝网站建设平台分析报告360建筑网这家公司怎么样