一、JConsole是什么
从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
二、如何启动JConsole
- 如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole 即可。
- 如果从 GUI shell 启动,找到 JDK 安装路径,打开 bin 文件夹,双击 jconsole 。
当分析工具弹出时(取决于正在运行的 Java 版本以及正在运行的 Java 程序数量),可能会出现一个对话框,要求输入一个进程的 URL 来连接,也可能列出许多不同的本地 Java 进程(有时包含 JConsole 进程本身)来连接。如图所示:
想分析那个程序就双击那个进程。
三、如何设置JAVA程序运行时可以被JConsolse连接分析
- 本地程序(相对于开启JConsole的计算机),无需设置任何参数就可以被本地开启的JConsole连接(Java SE 6开始无需设置,之前还是需要设置运行时参数 -Dcom.sun.management.jmxremote )
- 无认证连接 (下面的设置表示:连接的端口为8999、无需认证就可以被连接)
- -Dcom.sun.management.jmxremote.port=8999 \
- -Dcom.sun.management.jmxremote.authenticate=false \
- -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=8999 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
- 如果考虑到安全因素,需要认证,需要安全连接,也是可以搞定的。参考:http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdenv
四、JConsole如何连接远程机器的JAVA程序(举例说明)
1、写一个简单的一直运行的JAVA程序,运行在某台机器上如(192.168.0.181)
- java -cp . -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.managent.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false JConsoleTest
java -cp . -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.managent.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false JConsoleTest
2、另外一台机器进行连接
可以直接使用命令:
- jconsole.exe 192.168.0.181:8999
jconsole.exe 192.168.0.181:8999
也可以在已经打开的JConsole界面操作 连接->新建连接->选择远程进程->输入远程主机IP和端口号->点击“连接”,如图:
然后就会进入分析界面:
性能分析
下面说说如何分析,如何使用这六个标签
- 概述: Displays overview information about the Java VM and monitored values.
- 内存: 显示内存使用信息
- 线程: 显示线程使用信息
- 类: 显示类装载信息
- *VM摘要:*显示java VM信息
- MBeans: 显示 MBeans.
概述
概述很简单没啥说的,自己看看吧,不过值得一提的是对着图点击右键可以保存数据到CSV文件,以后可以使用其他工具来分析这些数据。
内存
这个比较有价值,参看堆内存,非堆内存,内存池的状况总体内存的分配和使用情况以及不同的GC进行垃圾回收的次数和时间。可以手动进行GC查看内存变化。
在分析JAVA内存问题进行调优时候非常有用,你要学习JVM内存模型,之后会发现这里的每个值都具有意义。
GC的算法和参数对性能有显著的影响,注意垃圾回收次数、时间、以及partial GC和full GC,调整你所使用的不同GC和以及各个GC下的参数,然后在这个视图下观察,以得到好的性能。
这里贴一下 Java HotSpot VM garbage collector 下generational GC 的各代的划分图:
关于GC,可以参考:http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
线程
左下角显示所有的活动线程(如果线程过多,可以在下面的过滤栏中输入字符串过滤出你想要观察的线程)。点击某个显示会显示这个线程的名称、状态、阻塞和等待的次数、堆栈的信息。
统计图显示的是线程数目的峰值(红色)和当前活动的线程(蓝色)。
另外下面有个按钮“检测到死锁”,有时候会有用处。
类
没啥要说的。
VM摘要
也没啥要说的,看看吧,内存状况,操作系统...
MBean
这里可以有一些额外的操作。
插件
- jconsole -pluginpath C:\Java\jdk1.6.0_22\demo\management\JTop\JTop.jar
jconsole -pluginpath C:\Java\jdk1.6.0_22\demo\management\JTop\JTop.jar
一看便知,是个什么东西。
推荐使用升级版 JConsole 即 jvisualvm 。
关于jvisualvm的使用,->http://jiajun.iteye.com/blog/1180230
-----------------------------------------------------------------------------------------------------------------------
参考资料:
- Monitoring and Management Using JConsole :http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
- http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html Monitoring and Management Using JMX Technology :http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html
- Eclipse launcher for VisualVM : http://visualvm.dev.java.net/eclipse-launcher.html
- Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine : http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
相关推荐
JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
通过这些视图,可以深入分析Java应用程序的运行状态,例如在内存视图中观察堆内存使用情况,触发GC操作并观察内存变化;在线程视图中查找死锁;在MBeans视图中配置和操作特定的服务。这些功能使得JConsole成为Java...
而jvisualvm则是一个图形化的监控和故障排查工具,集成了jconsole和VisualVM的功能,可以实时监控和分析Java应用的性能指标,包括内存、线程、类加载情况等。 其次,为了深入理解JVM的工作原理和性能特征,开发者...
内容概要:本文详细介绍了基于WPF框架构建MES(制造执行系统)的经验和技术要点。主要内容包括:使用C#和WPF进行AGV(自动导引车)调度的多线程编程,采用Entity Framework和Dapper进行数据库操作,以及通过TCP/IP Socket和OPC UA协议实现工业组态和数据通信。此外,还探讨了Excel数据导出、PLC通信、路径规划、缓存机制等具体应用场景的技术实现。 适合人群:对WPF框架、MES系统开发感兴趣的软件工程师,尤其是那些希望深入了解工业自动化领域的开发者。 使用场景及目标:适用于需要快速开发高效稳定的MES系统的团队。主要目标是提高生产效率,优化资源配置,增强系统的实时性和稳定性。文中提供的代码片段和实践经验可以帮助开发者更好地理解和解决实际开发中遇到的问题。 其他说明:文章不仅提供了详细的代码示例,还分享了许多实用的开发技巧和优化建议,如多线程处理、异步编程、内存管理和UI更新等。对于想要深入研究WPF框架及其在工业自动化领域应用的人来说,是一份宝贵的参考资料。
3dmax插件
内容概要:本文详细介绍了基于西门子Smart200 PLC和威伦触摸屏的三轴螺丝机控制系统。首先,阐述了系统的硬件配置,包括PLC型号、步进驱动器和触摸屏的选择。接着,深入讲解了核心控制流程,如原点回归、点动控制和任意坐标定位的具体实现方法。文中还展示了如何利用PLC自带的高速脉冲输出进行精确的运动控制,以及如何通过触摸屏实现坐标管理和实时监控。此外,文章分享了一些实用技巧,如状态机架构的应用、运动控制框架的设计思路和常见问题的解决方案。 适合人群:自动化控制领域的工程师和技术人员,尤其是对PLC编程和运动控制感兴趣的初学者和有一定经验的研发人员。 使用场景及目标:适用于工业自动化生产线中需要精密定位和控制的设备开发,如螺丝机、贴标机、点胶机等。目标是帮助读者掌握PLC编程技巧,提高运动控制系统的稳定性和效率。 其他说明:文中提供了详细的代码示例和调试建议,有助于读者快速理解和应用相关技术。同时,强调了系统设计中的注意事项,如脉冲当量计算、机械结构优化等,确保系统的可靠运行。
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
内容概要:本文详细介绍了用于电动汽车内置式永磁同步电机(IPMSM)的基于查询表的矢量控制算法及其自动生成程序。文章首先解释了IPMSM的凸极特性和MTPA(最大转矩每安培)、MTPV(最大功率每伏特)之间的关系,强调了电流分配表在两者间平滑切换的重要性。随后展示了核心代码结构,包括遍历转速-转矩工作点、求解最优dq轴电流、电压电流约束检查以及弱磁补偿策略。此外,文章还讨论了数据输出方式,提供了C语言二维数组和Excel两种格式,并分享了一些实战经验和常见问题解决方法。最后提到了弱磁仿真的重要性,特别是在应对电池电压波动时的表现。 适合人群:从事电动汽车电机控制系统开发的技术人员,尤其是熟悉MATLAB编程并有一定电机控制背景的研发人员。 使用场景及目标:适用于需要高效生成IPMSM电流参考值表的工程项目,旨在提高电机控制系统的性能和稳定性,减少手动计算带来的错误和时间成本。 其他说明:文中提供的MATLAB源码已开源,可在GitHub上获取。同时,作者提醒使用者根据实际情况调整电机参数,以确保生成的查表能够正确应用于具体项目。
内容概要:本文详细介绍了三种常用的信号降噪方法:滤波降噪、小波降噪和小波包降噪。滤波降噪通过设计滤波器来分离信号和噪声,适用于频率特性明确的噪声。小波降噪基于小波变换,能够自适应地捕捉信号的局部特征,尤其适合非平稳信号。小波包降噪则进一步细化了信号的频率分解,提供了更好的降噪效果,尤其在处理复杂信号时表现出色。文中通过Python代码展示了每种方法的具体实现,并进行了效果对比。 适用人群:从事信号处理领域的研究人员和技术人员,以及对信号降噪感兴趣的开发者。 使用场景及目标:① 对于频率特性明确的噪声,可以选择滤波降噪;② 处理非平稳信号时,推荐使用小波降噪;③ 在追求极致降噪效果,特别是面对复杂信号时,优先考虑小波包降噪。 其他说明:文中提供的Python代码可以帮助读者更好地理解和实践这三种降噪方法。同时,强调了在实际应用中需要根据具体的信号特点和需求选择最适合的降噪方法。
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
内容概要:本文详细介绍了三菱FX系列PLC的模拟量输入输出转换功能块(FB)的设计与应用。作者将常见的模拟量处理逻辑封装成即插即用的功能块,极大提高了开发效率。文中详细解释了功能块的接口设计、核心转换逻辑、量程适配方法以及抗干扰措施。同时,提供了多个实际项目的应用案例,如注塑机温度控制、真空炉控制等,展示了功能块的稳定性和易用性。 适合人群:从事工业自动化控制系统的工程师和技术人员,特别是对三菱PLC有一定了解的从业者。 使用场景及目标:适用于需要快速实现模拟量处理的工程项目,如温度、压力、流量等物理量的测量与控制。主要目标是提高开发效率,减少重复劳动,确保系统稳定可靠。 其他说明:文中提到的功能块不仅简化了编程流程,还增加了错误检测和抗干扰能力,使得即使是新手也能轻松应对复杂的模拟量处理任务。此外,功能块支持多种量程和硬件版本,适应性强。
基于深度学习的系统
前端开发_浏览器扩展_Vite框架_Vue3_模板_适配_M_1744167663.zip
内容概要:本文详细介绍了计算机专业求职面试的内容与技巧,旨在帮助求职者高效准备。面经内容涵盖技术面试、系统设计面试、行为面试和其他类型面试。技术面试包括算法与数据结构、计算机基础、编程语言与框架等高频考点;系统设计面试强调高并发、高可用等设计目标,涉及短链系统、分布式缓存等典型题目;行为面试关注项目中的挑战解决、团队协作等问题,提倡使用STAR法则作答。技巧分享方面,技术面试准备建议刷题、复习基础知识;系统设计采用分层设计法,推荐相关书籍和资源;行为面试注重项目包装,强调量化成果和技术术语的使用;面试实战技巧包括良好沟通、拆解难题等。此外,文章还提供了资源与工具推荐、避坑指南以及不同公司面试侧重点分析,并指出短期冲刺和长期积累对提升面试通过率的重要性。; 适合人群:计算机专业学生和从业者,尤其是有求职需求的人员。; 使用场景及目标:①帮助求职者了解面试常见题型与考察点,进行有针对性的准备;②提供有效的面试技巧,提高求职成功率;③根据不同公司特点调整准备方向,增强竞争力。; 其他说明:通过系统化准备和反复练习,求职者能显著提升面试通过率。技术能力决定下限,而沟通表达与思维逻辑决定上限。
内容概要:本文详细介绍了西门子博图时间加密程序块的应用,特别是在1212C DC/DC/DC PLC和KTP700 Basic PN触摸屏中的实现。文章分为加密算法块和解密算法块两大部分,通过具体的代码示例展示了加密和解密的具体过程。加密算法采用了循环右移和异或运算,确保了加密的高效性和安全性。解密则通过逆向操作恢复原始时间数据。此外,文中还讨论了密钥更新策略、时间戳精度、硬件时钟同步等问题,并提供了实际应用中的注意事项和优化建议。 适合人群:从事工业自动化控制系统的工程师和技术人员,尤其是熟悉西门子PLC和触摸屏编程的人员。 使用场景及目标:① 提供一种可靠的时间加密方法,保护关键时间数据和逻辑不被轻易破解;② 增强项目的保密性和安全性;③ 提供实际项目中的应用案例和优化建议,便于快速移植到其他项目中。 其他说明:文章强调了加密和解密过程的透明度,使得维护人员能够直观理解加密逻辑,有助于快速定位和解决问题。同时,文中提到的一些技巧如动态密钥生成、时间戳精度调整等,也为实际应用提供了宝贵的实践经验。
内容概要:本文详细介绍了三相步进电机的开环矢量控制方案及其源码实现,尤其是坐标变换(Clarke变换和Park变换)和空间矢量脉宽调制(SVPWM)的具体实现方法。文中不仅解释了理论背景,还提供了具体的代码片段,展示了如何通过坐标变换将三相电流映射到旋转坐标系,并通过SVPWM生成合适的PWM信号来控制电机。此外,文章还讨论了一些实际应用中的技巧和注意事项,如角度生成策略、扇区判断优化以及启动时的斜坡函数设置。 适合人群:从事电机控制领域的工程师和技术爱好者,尤其是对步进电机矢量控制感兴趣的初学者和有一定基础的研发人员。 使用场景及目标:适用于需要提高步进电机控制精度和响应速度的场合,如工业自动化设备、搬运机械手等。目标是通过理解和应用开环矢量控制技术,使步进电机表现出接近伺服电机的性能,同时降低成本和复杂度。 其他说明:文章强调了在资源有限的嵌入式系统中进行优化的重要性,如使用查表法替代实时计算、利用位运算提高效率等。此外,还提到了一些调试技巧,如通过示波器观察波形、调整角度积分环节等,有助于解决实际应用中的常见问题。
内容概要:本文详细介绍了基于STM32F031的FOC有感电机控制代码的功能特点及其应用场景。代码不仅涵盖了原理图、PCB设计,还包括详细的程序代码和注释。主要功能包括转把控制、刹车、助力、欠压检测、巡航、铁塔王通讯、一键通、隐形限速、霍尔修复和故障显示等。文中还展示了多个关键代码片段,如ADC采样、PWM生成、霍尔信号处理、故障检测和通讯协议处理等,强调了代码的稳定性和实用性。 适合人群:从事电机控制领域的工程师和技术爱好者,尤其是对FOC算法感兴趣的开发者。 使用场景及目标:适用于电动自行车、滑板车等需要高效电机控制的应用场景。目标是帮助开发者理解和应用成熟的FOC控制代码,提升产品的稳定性和功能性。 其他说明:代码经过量产验证,具有较高的可靠性和灵活性,能够适配多种国产芯片平台。文中还提供了丰富的实战经验和优化技巧,有助于解决实际开发中的常见问题。
浅析电子商务环境下物流的特点.docx
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
内容概要:本文详细介绍了欧姆龙FH系列机器视觉系统的独特优势及其应用场景。FH系列通过提供强大的仿真软件、优化的PLC通信接口以及先进的深度学习模块,显著提高了工业视觉项目的开发效率和准确性。具体而言,FH系列的仿真环境允许开发者在虚拟环境中调试算法,减少了现场调试的时间;其PLC通信接口支持多种工业协议并实现了自动寄存器映射,降低了设备工程师的沟通成本;深度学习模块则提供了预训练模型和自动ROI聚焦等功能,大幅提升了缺陷检测的精度和速度。此外,FH系列还集成了智能标定向导和动态标定功能,使得尺寸测量更加精确和便捷。 适用人群:从事工业自动化、机器视觉、智能制造等领域的一线工程师和技术管理人员。 使用场景及目标:适用于需要快速开发和部署视觉检测系统的工业生产线,尤其是汽车制造、电子产品、制药等行业。主要目标是缩短项目周期、提高检测精度、降低开发难度。 其他说明:相比于传统的视觉检测工具如Halcon,FH系列以其易用性和高效性脱颖而出,成为现代工业视觉项目的首选解决方案。文中提到的具体案例展示了FH系列在实际生产中的卓越表现,证明了其在提升工作效率方面的巨大潜力。