zoukankan      html  css  js  c++  java
  • jstack来分析linux服务器上Java应用服务性能异常

    使用jdk自带的jstack来分析linux服务器上应用服务性能异常:

    1.top查找出哪个进程消耗的系统资源情况

    [op1@jira ~]$ top

    top - 19:23:43 up 22 days,  3:43,  1 user,  load average: 3.45, 2.52, 1.19

    Tasks: 134 total,   1 running, 133 sleeping,   0 stopped,   0 zombie

    Cpu(s): 57.3%us,  1.9%sy,  0.0%ni, 40.6%id,  0.0%wa,  0.1%hi,  0.1%si,  0.0%st

    Mem:   6105924k total,  3466656k used,  2639268k free,    47512k buffers

    Swap:  4194296k total,    42496k used,  4151800k free,  1328268k cached

     PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                    

    15995 root      22   0 3437m 1.8g  40m S 355.6 30.9 221:04.19 java                                                                                                                                       

    21165 op1       15   0 10876 1052  768 R  0.3  0.0   0:00.34 top                                                                                                                                          

        1 root      15   0 10364  580  548 S  0.0  0.0   0:01.07 init    

    ........                                                                                                                             

    2.先输入top,然后再按shift+h 显示线程消耗资源

    Tasks: 269 total,   1 running, 268 sleeping,   0 stopped,   0 zombie

    Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

    Mem:   6105924k total,  4425172k used,  1680752k free,   170816k buffers

    Swap:  4194296k total,    42492k used,  4151804k free,  1729076k cached

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                    

    16215 root      18   0 3474m 2.2g  56m S 9999.0 37.8 112:00.66 java                                                                                                                                      

    16208 root      15   0 3474m 2.2g  56m S 1962.2 37.8   0:59.05 java                                                                                                                                       

    16114 root      16   0 3474m 2.2g  56m S 305.0 37.8   0:09.18 java                                                                                                                                        

    16209 root      15   0 3474m 2.2g  56m S 291.1 37.8   0:08.76 java                                                                                                                                       

    .....(这些线程都是进程15995下的)

    3.jstack查找这个线程的信息

    jstack [进程]|grep -A 10 [线程的16进制]

    如:jstack 21125|grep -A 10 52f1(-A 10表示查找到所在行的后10行。21233用计算器转换为16进制52f1,注意转换后的十六进制字母是小写)

    4.使用jstack来dump出所有线程的状态和调用堆栈并保存到本地文件dump_test

    [root@jira bin]# ./jstack 15995 >> dump_test

  • 相关阅读:
    JavaScript高级程序设计学习笔记--变量、作用域和内存问题
    JavaScript高级程序设计学习笔记--基本概念
    Silverlight 动画性能
    Silverlight动画之 Animation Easing
    Silverlight 动画详解
    WCF重写ServiceHost,实现独立配置文件
    WP8 双击返回键退出
    Asp.Net之自定义表达式构造器(ExpressionBuilder)
    通过configSource提高web.config配置灵活性
    C# 操作IIS方法集合
  • 原文地址:https://www.cnblogs.com/mazj611/p/3449578.html
Copyright © 2011-2022 走看看