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

威海做网站云科技网站建设

威海做网站,云科技网站建设,网页托管,英雄联盟网页怎么制作线程转储是诊断CPU尖峰#xff0c;死锁#xff0c;内存问题#xff0c;无响应的应用程序#xff0c;较差的响应时间以及其他系统问题的重要工件。有很多很棒的在线线程转储分析工具#xff0c;可以分析和发现问题。但是对于那些工具#xff0c;您需要提供适当的线程转储作…线程转储是诊断CPU尖峰死锁内存问题无响应的应用程序较差的响应时间以及其他系统问题的重要工件。有很多很棒的在线线程转储分析工具可以分析和发现问题。但是对于那些工具您需要提供适当的线程转储作为输入。因此在本文中我记录了7种不同的选项来捕获线程转储。1. jstack“ jstack”是捕获线程转储的有效命令行工具。jstack工具位于JDK_HOME bin文件夹中。这是捕获线程转储所需发出的命令jstack -l pid file-path哪里pid是应用程序的进程ID应捕获其线程转储file-path是将写入线程转储的文件路径。例jstack -l 37320 /opt/tmp/threadDump.txt按照示例该过程的线程转储将在/opt/tmp/threadDump.txt文件中生成。自Java 5以来JDK中已包含Jstack工具。如果您在旧版Java中运行请考虑使用其他选项2.kill-3在大型企业中出于安全原因只有JRE安装在生产机器中。由于jstack和其他工具只是JDK的一部分因此您将无法使用jstack。在这种情况下可以使用“ kill -3”选项。kill -3 pid哪里pid是应用程序的进程ID应捕获其线程转储例Kill -3 37320使用kill -3选项时线程转储将发送到标准错误流。如果要在tomcat中运行应用程序则线程转储将发送到TOMCAT_HOME /logs/catalina.out文件中。注意据我所知大多数* nix操作系统UnixLinuxHP-UX操作系统都支持此选项。不确定其他操作系统。3. JVisualVMJava VisualVM是一种图形用户界面工具可在应用程序在指定的Java虚拟机JVM上运行时提供有关这些应用程序的详细信息。它位于JDK_HOME bin jvisualvm.exe中。自JDK 6更新7.s起它是Sun JDK发行版的一部分。启动jvisualvm。在左侧面板上您会注意到计算机上正在运行的所有Java应用程序。您需要从列表中选择您的应用程序。该工具还具有从远程主机上运行的Java进程中捕获线程转储的功能。4.Java Mission ControlJava Mission ControlJMC是一种工具可从本地运行或部署在生产环境中的Java应用程序收集和分析数据。自Oracle JDK 7 Update 40起该工具已打包到JDK中。该工具还提供了从JVM进行线程转储的选项。JDK_HOME bin jmc.exe中存在JMC工具启动该工具后您将看到本地主机上正在运行的所有Java进程。注意JMC还具有与远程主机上运行的Java进程连接的能力。现在在左侧面板上单击要进行线程转储的Java进程下方列出的“ Flight Recorder”选项。5. Windows按Ctrl Break此选项仅在Windows操作系统中有效。· 选择已启动应用程序的命令行控制台窗口。· 现在在控制台窗口上发出“ Ctrl Break ”命令。这将生成线程转储。线程转储将被打印在控制台窗口本身上。注1在几台笔记本电脑例如我的Lenovo T系列中“ Break”键被拔下。在这种情况下您必须在Google上找到“ Break”的等效键。在我的情况下事实证明“功能键 B”等效于“断裂”键。因此我不得不使用“ Ctrl Fn B”来生成线程转储。注意2但是这种方法的一个缺点是线程转储将打印在Windows控制台本身上。如果不以文件格式获取线程转储则很难使用线程转储分析工具例如http://fasthread.io。因此当您从命令行启动应用程序时将输出重定向到文本文件即示例如果您正在启动应用程序“ SampleThreadProgram”则将发出以下命令java -classpath . SampleThreadProgram而是像这样启动SampleThreadProgramjava -classpath . SampleThreadProgram C:workspacethreadDump.txt 21因此当您发布“ Ctrl Break”时线程转储将发送到C workspace threadDump.txt文件。6. ThreadMXBean从JDK 1.5开始引入了ThreadMXBean。这是Java虚拟机中线程系统的管理接口。使用此接口您还可以生成线程转储。您只需编写几行代码即可以编程方式生成线程转储。下面是ThreadMXBean实现的框架实现该实现从应用程序生成Thread dump。 public void dumpThreadDump() { ThreadMXBean threadMxBean ManagementFactory.getThreadMXBean(); for (ThreadInfo ti : threadMxBean.dumpAllThreads(true, true)) { System.out.print(ti.toString()); } }7. APM工具– App Dynamics很少有应用程序性能监视工具提供生成线程转储的选项。如果要通过App DynamicsAPM工具监视应用程序则以下是捕获线程转储的说明1.创建一个动作在“创建动作”窗口中选择“ 诊断”-“执行线程转储 ”。2.输入操作名称要采样的数量以及线程转储之间的间隔以毫秒为单位。3.如果要在启动线程转储操作之前需要批准请选中“在此操作之前需要批准”复选框然后输入被授权批准该操作的个人或组的电子邮件地址。有关更多信息请参见需要批准的操作。4.单击确定。8. JCMDjcmd工具是随Oracle Java 7引入的。它对解决JVM应用程序的问题很有用。它具有多种功能例如识别Java进程ID获取堆转储获取线程转储获取垃圾收集统计信息等等。使用以下JCMD命令可以生成线程转储jcmd pid Thread.print file-path哪里pid 是应用程序的进程ID应捕获其线程转储file-path 是将写入线程转储的文件路径。例jcmd 37320 Thread.print /opt/tmp/threadDump.txt按照示例该过程的线程转储将在/opt/tmp/threadDump.txt文件中生成。结论即使列出了7个不同的选项来捕获线程转储恕我直言最好还是使用1.jstack和2.kill -3。因为他们是一种。简单直接易于实现b。通用在大多数情况下均可运行与操作系统Java供应商JVM版本等无关
http://www.pierceye.com/news/573641/

相关文章:

  • 阿里巴巴可以做网站吗网站的可用性
  • 云虚拟主机怎么做2个网站装饰工程施工
  • 网站备案查询流程wordpress手机页面没有注册
  • 辽宁城乡建设集团官方网站精品课程网站建设
  • 威海 网站建设个人做网站可以盈利么
  • 机关网站源码网站建设 备案什么意思
  • 做理财的网站有哪些怎么弄数据库备份做网站
  • 网站不接入备案易企互联网站建设
  • 那种网站打不开北京网站建设找华网天下
  • 网站建设seo优化浙江网站名称怎么收录
  • 天津网站制作工具想自己做网站 有免费的吗
  • 宝塔织梦网站建设求网站备案照片
  • 聊城住房和城乡建设厅网站研发项目管理软件
  • 国投集团网站开发杭州网站界面设计
  • 做关于什么的网站莆田网站建设解决方案
  • 湖南长沙做网站那些网站可以做反链
  • 成都金牛网站建设公司高端网站配色
  • 做喜报的网站设计师的工作内容
  • 济南网站建设工作wordpress 资讯
  • 网站调用数据库平台公司名单
  • 移动网站怎么做成都设计公司名字
  • 杭州最好的网站设计公司服务器域名解析
  • 做试用网站的原理塘沽网吧开门了吗
  • 网站域名的作用古典网站源码
  • 做直播网站软件有哪些软件涿州网站建设有限公司
  • 易托管建站工具wordpress多个single
  • 建一个电影网站多大 数据库半厘米wordpress
  • 住房和建设厅网站首页网站源码怎么写
  • 宁波新亚建设公司网站简单网站建设
  • 做网站没赚到钱网站后台地址忘记了