AIX5.3 CPU占用高问题核查步骤
1、topas查看占用cpu占用最高的进程的PID

2、执行: ps -mp PID -o THREAD 以查找相应进程下所有正在占用 CPU 的线程的TID

您应当查看“CP”列(表示 CPU 占用率),看其中哪些线程的此项值比较高并从中挑选一个线程。

3、通过执行以下命令对服务器进行 Thread Dump:

kill -3 PID

4、将步骤2中找到的占用CPU高的线程TID转换成16进制,用对应的16进制数值在3步骤中生成的javacore文件中查找对应的线程堆栈(native ID为该16进制值)

分析实例:
1、topas查看占用CPU最高的进程PID:
2、ps -mp 528494 -o THREAD
显示内容如下:
web2:/app1/opentfs2$ ps -mp 528494 -o THREAD
    USER    PID   PPID      TID ST  CP PRI SC    WCHAN        F     TT BND COMMAND
opentfs2 528494 627044        - A  390  60 142        *   242001      -   - /usr/java5/bin/java -Xms1024m -Xmx2048m -da -Dplatform
       -      -      -   507987 S    0  82  1 f100070f10007c40  8410404      -   - -
       -      -      -   688141 S    0  82  1 f100070f1000a840  8410404      -   - -
       -      -      -   974999 S    0  82  1 f100060026c018c8   400404      -   - -
       -      -      -  1102075 R   98 176  0        -   400000      -   - -
       -      -      -  1167493 S    0  82  1 f100070f10011d40  8410404      -   - -
       -      -      -  1200235 S    0  82  1 f100070f10012540  8410404      -   - -
......
3、kill -3 528494  手动在domain的目录下生成 528494 进程的 Thread Dump(javacore文件):javacore.20130819.150717.528494.0002.txt
4、根据步骤2中TID "1102075" 在 CP 列中有一个高值(它达到“98”,而其它 TID 几乎为 0),将1102075转换成16进制为:10D0FB,在javacore.20130819.150717.528494.0002.txt中查找10D0FB对应的线程堆栈信息:
"[STUCK] ExecuteThread: '94' for queue: 'weblogic.kernel.Default (self-tuning)'" (TID:0x37187A00, sys_thread_t:0x3713F324, state:CW, native ID:0x0010D0FB) prio=1
at java/util/zip/Deflater.deflateBytes(Native Method)
at java/util/zip/Deflater.deflate(Deflater.java:332(Compiled Code))
at java/util/zip/DeflaterOutputStream.deflate(DeflaterOutputStream.java(Compiled Code))
at java/util/zip/DeflaterOutputStream.write(DeflaterOutputStream.java:138(Compiled Code))
at java/util/zip/GZIPOutputStream.write(GZIPOutputStream.java:95(Compiled Code))
at com/linkage/webframework/util/compress/CompressStream.write(CompressStream.java:41(Compiled Code))
at org/apache/tapestry/request/ResponseOutputStream.innerWrite(ResponseOutputStream.java:246(Compiled Code))
at org/apache/tapestry/request/ResponseOutputStream.write(ResponseOutputStream.java:271(Compiled Code))
at sun/nio/cs/StreamEncoder$ConverterSE.implWrite(StreamEncoder.java:276(Compiled Code))
at sun/nio/cs/StreamEncoder.write(StreamEncoder.java:186(Compiled Code))
at java/io/OutputStreamWriter.write(OutputStreamWriter.java:214(Compiled Code))
at java/io/BufferedWriter.write(BufferedWriter.java:191(Compiled Code))
at java/io/PrintWriter.write(PrintWriter.java:375(Compiled Code))
at org/apache/tapestry/AbstractMarkupWriter.printRaw(AbstractMarkupWriter.java:749(Compiled Code))
at org/apache/tapestry/html/NestedHTMLWriter.close(NestedHTMLWriter.java:61(Compiled Code))
at org/apache/tapestry/html/Body.renderComponent(Body.java:407(Compiled Code))
at org/apache/tapestry/AbstractComponent.render(AbstractComponent.java:859(Compiled Code))
at org/apache/tapestry/BaseComponent.renderComponent(BaseComponent.java:118(Compiled Code))
at org/apache/tapestry/AbstractComponent.render(AbstractComponent.java:859(Compiled Code))
at org/apache/tapestry/AbstractPage.renderPage(AbstractPage.java:300(Compiled Code))
at org/apache/tapestry/engine/RequestCycle.renderPage(RequestCycle.java:368(Compiled Code))
at org/apache/tapestry/engine/AbstractEngine.renderResponse(AbstractEngine.java:749(Compiled Code))
at org/apache/tapestry/engine/PageService.service(PageService.java:77(Compiled Code))
at org/apache/tapestry/engine/AbstractEngine.service(AbstractEngine.java:889(Compiled Code))
at org/apache/tapestry/ApplicationServlet.doService(ApplicationServlet.java:200(Compiled Code))
at org/apache/tapestry/ApplicationServlet.doGet(ApplicationServlet.java:161(Compiled Code))
at javax/servlet/http/HttpServlet.service(HttpServlet.java:743(Compiled Code))
at javax/servlet/http/HttpServlet.service(HttpServlet.java:856(Compiled Code))
at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227(Compiled Code))
at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125(Compiled Code))
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:283(Compiled Code))
at weblogic/servlet/internal/TailFilter.doFilter(TailFilter.java:26(Compiled Code))
at weblogic/servlet/internal/FilterChainImpl.doFilter(FilterChainImpl.java:42(Compiled Code))
at com/linkage/component/AppCompress.doFilter(AppCompress.java:95(Compiled Code))
at weblogic/servlet/internal/FilterChainImpl.doFilter(FilterChainImpl.java:42(Compiled Code))
at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242(Compiled Code))
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321(Compiled Code))
at weblogic/security/service/SecurityManager.runAs(SecurityManager.java:121(Compiled Code))
at weblogic/servlet/internal/WebAppServletContext.securedExecute(WebAppServletContext.java:1950(Compiled Code))
at weblogic/servlet/internal/WebAppServletContext.execute(WebAppServletContext.java:1916(Compiled Code))
at weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1371(Compiled Code))
at weblogic/work/ExecuteThread.execute(ExecuteThread.java:209(Compiled Code))
at weblogic/work/ExecuteThread.run(ExecuteThread.java:181)
根据该堆栈,即可定位问题所在。

AIX5.3CPU占用高的问题核查的更多相关文章

  1. SQLSERVER排查CPU占用高的情况

    SQLSERVER排查CPU占用高的情况 今天中午,有朋友叫我帮他看一下数据库,操作系统是Windows2008R2 ,数据库是SQL2008R2 64位 64G内存,16核CPU 硬件配置还是比较高 ...

  2. 找出linux服务器IO占用高的程序

     一台服务器比较性能无外乎内存.cpu使用率.IO使用率,把这3样优化好了,你服务器的负载就要小很多,当然网络情况不在我的考虑范围,毕竟网络这个情况是很不稳定,就算你服务器上把网络优化得再好,idc不 ...

  3. 检查.net代码中占用高内存函数(翻译)

    哈哈,昨天没事做,在CodeProject瞎逛,偶然看到这篇文章,居然读得懂,于是就翻译了一下,当练习英语,同时增强对文章的理解,发现再次翻译对于文章的一些细节问题又有更好的理解.下面是翻译内容,虽然 ...

  4. 解决Antimalware Service Executable CPU占用高听语音

    windows8/8.1,WIN10自带的安全软件Windows defender还不错,基本可以不用装其他杀毒软件了. 但是其进程Antimalware Service Executable 出现C ...

  5. linux Java项目CPU内存占用高故障排查

    linux Java项目CPU内存占用高故障排查 top -Hp 进程号 显示进程中每个线程信息,配合jstack定位java线程运行情况 # 线程详情 jstack 线程PID # 查看堆内存中的对 ...

  6. JAVA服务cpu占用高排查

    最近线上机器偶尔有台cpu达到100%,还居高不下.同样负载的其他机器却正常,我想肯定是代码哪里有问题了 首先我们top看下 可定位到对应占用高的PID 然后=>ps -mp PID -o TH ...

  7. Linux查看CPU、内存、IO占用高的进程

    查看CPU占用高的top15进程 | | 查看内存占用高的top15进程 | | 查看IO占用高的top15进程 ./ind_high_io_process.py 3 4 5.其中3表示间隔3秒获取一 ...

  8. (转)解决Win7/8硬盘占用高方案汇总

      写在前面       在Windows7时代,很少人会抱怨硬盘占用率高的问题.但是到了Windows7/8.1时,硬盘占用率成为一个扰人的问题.硬盘占用率经常100%会导致系统卡.慢,而且也很伤硬 ...

  9. C# Winform程序CPU占用高的原因和解决方法

    程序CPU占用高的可能原因: 1.存在死循环: 为什么死循环会导致CPU占用高呢?      虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下 ...

随机推荐

  1. Java日志终极指南

    Java日志基础 Java使用了一种自定义的.可扩展的方法来输出日志.虽然Java通过java.util.logging包提供了一套基本的日志处理API,但你可以很轻松的使用一种或者多种其它日志解决方 ...

  2. 后台数据导出为Excel

    数据导出的方法如下: 一.下载office的类库:microsoft.office.interop.excel.zip 根据电脑安装的office版本选择引入相应的类库,office2007选择12. ...

  3. SQL记录-字符串的截取与拼接

    SELECT concat( substr(t1.CODE, , ), '****', substr(t1.CODE, ) ), t1.CODE, t2.TITLE FROM table1 t1 LE ...

  4. Hacker(十一)----黑客常用入侵方法

    Internet中,为了防止黑客入侵自己的电脑,就必须了解黑客入侵目标计算机的常用方法.黑客常用的入侵方法有数据驱动攻击.系统文件非法利用.伪造信息攻击.远端操纵等. 一.数据驱动攻击 数据驱动攻击是 ...

  5. Oracle中drop user和drop user cascade的区别

    drop user : 仅仅是删除用户,drop user username cascade :会删除此用户名下的所有表和视图. userSpecify the user to be dropped. ...

  6. T-SQL和PL/SQL 区别

    结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据库 ...

  7. asp.net向后台传参数动态加载图片

    //向后台传参数动态加载图片 $(function() { $("#Button1").click(function() { var stockcode = getUrlParam ...

  8. ext.net中ComboBox空间实现模糊查询

    ComboBox中的属性添加Mode="Local"可以实现第一个字的模糊查询但是搜索中间的字无法实现 现提供一下方法使用正则表达式实现全模糊查询 <ext:ComboBox ...

  9. Linux中oracle的安装,亲测

    一.下载oracle的软件包 地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-li ...

  10. jBPM4.4与SSH2整合

    整合jBPM的目的就是能够通过注入的方式得到ProcessEngine实例,因为ProcessEngine是jbpm 的核心. 整合步骤: 1.新建web程,搭建好SSH2环境 2.导入jbpm相关的 ...