test

霸气de小男生 提交于 2020-02-27 06:22:17

java性能调优

jmx

jmx(Java Management Extensions,即Java管理扩展)

开启远程支持

注意服务器的端口防火墙

需要在服务器上添加JVM参数来开启

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=localhost

jstatd

安全策略文件jstatd.policy

grant codebase"file:${java.home}/../lib/tools.jar"{ 
     permission java.security.AllPermission;
};

开启远程支持

jstatd -J-Djava.security.policy=jstatd.policy -J-Djava.rmi.server.hostname=localhost -p1099 >> /tmp/jstatd.log 2>&1 &

jvisualvm

需要jmxjstatd同时开启支持

jvisualvm是jdk自提供的资源监控和查看工具,可以通过命令jvisualvm来启动。

如果是IDEA开发环境,可以安装VisualVM Launcher插件来集成管理。

监视

展示系统资源使用情况

线程

展示线程的运行的情况

常见线程状态:

  • Running(运行),运行中的线程
  • Sleeping(休眠),调用了Thread.sleep之后的状态
  • Wait(等待),调用了wait()之后阻塞的等待状态
  • Monitor(监视),线程想执行一段synchronized中的代码,但是发现已经有其它线程正在执行,自己被block了,只能无奈地等待

抽样器

分析CPU和内存的使用情况

参考

sadfasdf

nmon https://www.cnblogs.com/qgc1995/p/7523786.html http://www.51testing.com/html/87/300987-824376.html

FULL GC观察

性能分析之-- JAVA Thread Dump 分析综述 https://blog.csdn.net/rachel_luo/article/details/8920596

下单接口调优实战,性能提高10倍 https://blog.csdn.net/linsongbin1/article/details/82656887

一次系统线程数飚高无法下降的排查过程 https://www.jianshu.com/p/c54de72e4ed7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!