• 一次通过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线程号。下面的内容就是想要的结果
     
  • 相关阅读:
    docker基础:docker网络模式
    WEB架构师成长之路之一-走正确的路(转载)
    DDD(领域驱动设计)
    C#泛型和泛型约束(转载)
    MES系统介绍
    vue中 computed和watch的一些简单理解(区别)(转载)
    sqlserver常用表值函数
    SQLServerAgent 当前未运行,因此无法将此操作通知它。
    浅谈敏捷开发(转载)
    认证、授权、鉴权和权限控制(转载)
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713770.html
Copyright © 2020-2023  润新知