十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
查看java程序运行的峰值内存消耗(含虚拟机)和CPU消耗(ms)的方法:
成都创新互联公司主要从事成都做网站、网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务肇庆,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
用jdk自带的工具,jconsole.exe;
令行输入jconsole.exe;
就会出现一个window;
根据进程号选择要监控的虚拟机;
里面有内存、线程、包括各种对象定义占有的内存,都可以看到。
可以学习软件包 java.lang.management
提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。
ClassLoadingMXBean
用于 Java 虚拟机的类加载系统的管理接口。
CompilationMXBean
用于 Java 虚拟机的编译系统的管理接口。
GarbageCollectorMXBean
用于 Java 虚拟机的垃圾回收的管理接口。
MemoryManagerMXBean
内存管理器的管理接口。
MemoryMXBean
Java 虚拟机内存系统的管理接口。
MemoryPoolMXBean
内存池的管理接口。
OperatingSystemMXBean
用于操作系统的管理接口,Java 虚拟机在此操作系统上运行。
RuntimeMXBean
Java 虚拟机的运行时系统的管理接口。
ThreadMXBean
Java 虚拟机线程系统的管理接口。
更多请访问(bug315)
关于性能调优:
1 需要一个性能探测器,找到调用最频繁的代码段,优化这部分代码(优化算法)
2 往往1%的代码运行时间占99%。所以优化这些代码就能事半功倍。
3 最好是能看懂编译后的代码,这样分析最彻底。
Java的性能分析使用JProfiler
堆栈分析使用的Jstack
Java性能调优 SSH框架优化以适应特定的项目
一、JVM调优
1 各种垃圾回收算法及其优劣;
2 针对不同应用类型如何选择JVM参数
3 常用调优工具的使用(jps/jstat/jmap/jstack/jinfo/jhat)
4 调优案例分析(如何选择不同内存块的大小,如何选择不同的算法来提升性能、响应时间)
二、Java应用中CPU占用率、使用情况分析,线程死锁等锁
系统性能瓶颈的分析定位
1 JStack的深度使用
2 各种Linux监控命令的配合使用(top,vmstat,iostat,sar 不要轻信自己能完全掌控这些命令)、分析
(前一阵Java漏洞通过制造Hash冲突来占尽CPU资源就可以通过top命令快速定位到,你肯定没有这么用过)
3 JProfiler的详细使用
三、Java内存溢出分析
1 用EMA来分析内存占用情况
2 通过案例分析来定位内存泄漏
互联网中的性能主要是两个方面:
1 吞吐量,就是系统支持的访问量。
2 延迟,就是一个请求提交后,相应的时间。
一般硬件不变的情况下,两方面各自优化到极限后,相互会制约,也就是吞吐量增强的话比如需要延迟加大,反之亦然。