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. 第04讲- Android项目目录结构分析

    学习内容: 1.        认识R类(R.java)的作用 R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改.R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R ...

  2. [bzoj1003][ZJOI2006][物流运输] (最短路+dp)

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...

  3. pyqt QTableView例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  4. PHP操作MySQL数据库的相关函数

    首先,要分清SQL语句的类型: SQL语句的分类 (1)DDL:Data Define Language,数据定义语言--定义表的列结构 CREATE.DROP.ALTER.TRUNCATE (2)D ...

  5. .NET(C#):分析IL中的if-else,while和for语句并用Emit实现

    这是一篇关于IL和反射Emit的文章(所以不喜欢IL或者Emit的就没必要往下看了),要求读者对IL和Emit工作原理较了解.所有分析IL均在Visual Studio 2010 SP1下编译生成.( ...

  6. POJ 3694 LCA

    题意:有N台电脑,他们之间有M条无向边. 然后询问,每次在他们之间加一条边,剩余的桥有多少. 思路:其实这题都不需要缩点了.. 直接记录每条桥的位置,然后每次询问进行一次LCA,当询问到桥时,桥数减1 ...

  7. MongoDB学习笔记03

    限制结果的返回数量可以使用limit.skip sort用一个对象作为参数:一组键/值对,键对应文档的键名,值代表排序的方向(1:升序,-1:降序):如果指定了多个键,则按照多个键的顺序诸个排序. M ...

  8. execlp函数使用

    原文:http://blog.sina.com.cn/s/blog_6a1837e901011167.html execlp(从PATH 环境变量中查找文件并执行)   相关函数:   fork,ex ...

  9. const用法总结

    1. const修饰变量 ; const int* a = &b; //情况1 int const* a = &b; //情况2 int* const a = &b; //情况 ...

  10. UIScrollView 代理方法

    在使用UIScrollView和它的子类UITableView时,有时需要在不同操作状态下,做不同的响应. 如何截获这些状态,如正在滚动,滚动停止等,使用UIScrollViewDelegate_Pr ...