zoukankan      html  css  js  c++  java
  • 一次通过jstack 和 pslist定位程序问题

    10年征战背景..........................

         短时间进行elasticsearch插入没有问题。
         可是连续插入几个小时候,cpu好的飞起。360加速器都要爆炸。
     
     
    先声明原帖   http://blog.csdn.net/ningzuobei/article/details/48828915
     
    1   没办法,邮件任务管理器,资源管理器。发现了猫腻。java.exe的进程占据了接近百分之80的cpu。
    还好我能看到她的进程号。我的是5460.
     
     
    2  我需要知道这个进程在做些什么,通过cmd命令  jstack 5460 > E: est esource.log  (C盘可能不行)。  这样得到一段时间内这个进程做的事情。直接打开看是无头绪的。
     
    3    我们需要揪出这个进程里面那个线程在做怪 通过pstools工具, 微软官方网址 http://technet.microsoft.com/en-us/sysinternals/bb896682.aspx 下载 ,有帖子说 下载完将其解压到C:WindowsSystem32路径下即可使用。但是我好像不行,我是把这个解压到 C:WindowsSystem32这个路径下,并且把里面的pslist.exe复制到 C:WindowsSystem32目录下才行。 在cmd命令窗口中执行命令: pslist -dmx 5460  找到使用Cswtch最多的两个running线程  。记下他们的线程号。  
     
    4  10进制的线程号需要换成16进制的 。 打开自带的计算器-查看-程序员。把它换成16进制的。转换的结果可能是纯数字,也可能带字母
     
     
    5  打开我们获得的resouce.log文件。Notepad++打开为好。查找我们转换的16进制线程号 。找到nid= 0x线程号。下面的内容就是想要的结果
     
  • 相关阅读:
    SQL Server Management Studio
    uiimage拉伸
    时间空间复杂度
    冒泡选择排序

    插入排序
    快速构建APP
    TTTAtibutedlabel
    Git命令
    适配
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713770.html
Copyright © 2011-2022 走看看