首先  top查看cpu 
cpu 高
   top -Hp 查看进程下cpu高的线程
用户线程cpu高
   jstack结合堆栈查看线程执行代码
gc线程cpu高
   jmap dump:format=b,file= 导出系统当前的内存数据,结合代码定位
cpu 低
  接口调用耗时 --> 压测+jstack
  功能突然出现停滞 -->多次调用并比较哪些用户线程一直处于等待状态,可能就是问题线程
  jstack看到死锁 -->两个线程的具体阻塞点
  io高 -->查询swap设置,ulimit设置,数据库资源使用,数据库慢查询等

一、通过 top命令查看CPU情况,如果CPU比较高,则通过top -Hp 命令查看当前进程的各个线程运行情况,找出CPU过高的线程之后,将其线程id转换为十六进制的表现形式,然后在jstack日志中查看该线程主要在进行的工作。这里又分为两种情况

如果是正常的用户线程,则通过该线程的堆栈信息查看其具体是在哪处用户代码处运行比较消耗CPU;

如果该线程是VM Thread,则通过jstat -gcutil 命令监控当前系统的GC状况,然后通过jmap dump:format=b,file= 导出系统当前的内存数据。导出之后将内存情况放到eclipse的mat工具中进行分析即可得出内存中主要是什么对象比较消耗内存,进而可以处理相关代码;

如果通过 top 命令看到CPU并不高,并且系统内存占用率也比较低。此时就可以考虑是否是由于另外三种情况导致的问题。具体的可以根据具体情况分析:

如果是接口调用比较耗时,并且是不定时出现,则可以通过压测的方式加大阻塞点出现的频率,从而通过jstack查看堆栈信息,找到阻塞点;

如果是某个功能突然出现停滞的状况,这种情况也无法复现,此时可以通过多次导出jstack日志的方式对比哪些用户线程是一直都处于等待状态,这些线程就是可能存在问题的线程;

如果通过jstack可以查看到死锁状态,则可以检查产生死锁的两个线程的具体阻塞点,从而处理相应的问题。

系统运行缓慢的问题定位步骤相关推荐

  1. 接口访问次数_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...

  2. 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://h5ip.cn/uWWR 处理过线上问题的同学 ...

  3. fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...

  4. xp系统运行程序提示无法定位程序输入点GetFinalPathNameByHandleW于动态链接库kernel32.dll上

    最近自己用python3.6.3写了一个程序,使用win7 32位系统打包成exe,在win7 32位和64位运行没问题,在xp系统运行提示"xp系统运行程序提示无法定位程序输入点GetFi ...

  5. 瑞星防火墙导致系统运行缓慢的问题

    我的计算机是小新潮7000,配置是i5-7200u+8G+128G SSD+1T HD,操作系统是win10.最近在使用中 系统十分缓慢,让我有一种回到了原始社会的感觉.        于是我采用了各 ...

  6. win7关闭休眠_你的Windows7系统运行缓慢?给你一个Win7系统减肥攻略

    首先 开启 Administrator用户(我的电脑右键-择管理-本地用户和组-用户-Administrator账户右键-属性-取消账户已禁用-点击确定-注销). 1.关闭系统休眠:在关闭休眠功能前, ...

  7. SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)

    今天下午,我们搭建了测试服务器,客户的两个管理人员,正在不停的添加数据,突然说页面打开错误,同时添加数据很慢,这时通过监控数据库服务器发现sql语句发现执行正常,但是客户的页面打不开.这时由于JBOS ...

  8. 为什么Windows 10电脑运行缓慢?如何解决?

    ​虽然电脑是大家生活中的常用工具,但它经常会出现一些烦人的小问题,比如Windows 10系统在长时间使用后运行会变的缓慢.这时你必须等待一会才能打开/关闭电脑.打开和访问文件夹或软件,那要如何优化W ...

  9. 计算机桌面运行慢,电脑运行缓慢怎么办?

    在如今的社会电脑是我们的生产力工具,我们的工作都离不开电脑的存在,我们生活的许多场景也都有电脑的身影存在.但是电脑作为一款特殊的电子产品,在使用一段时间后都会产生比如运行缓慢等情况,那么是因为什么导致 ...

最新文章

  1. Confluence 6 找到在创建 XML 备份的时候出现的错误
  2. python工程师证书-一个程序员怎么才算精通python
  3. 转行学Java,如何才能成为年薪50万的Java程序员呢?
  4. Zookeeper_原生API操作(一)
  5. 分布式系统Kafka和ES中,JVM内存越大越好吗?
  6. 搭建 springMVC 框架
  7. LLVM与Codegen技术
  8. 布局管理器 4----- 相对布局
  9. 常见图片格式与调色算法
  10. 随笔︱MRO-Microsoft R Open使用心得与相应内容总结
  11. XStream入门应用程序
  12. Java--基础命名空间
  13. Luogu1091 合唱队形
  14. 燃料电池电池超级电容复合能量管理策略simulink仿真模型
  15. matlab形成n个对角阵,matlab-线性代数 创建 N阶数量矩阵 N阶单位矩阵 对角矩阵 范德蒙矩阵 等差数列...
  16. 单海军:行业AI平台赋能金融企业数智化转型
  17. 史上最全网络安全面试题合集
  18. 如何从官网下载Eclipse
  19. 2022~2023计算机毕业设计选题篇-选题推荐
  20. 牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息

热门文章

  1. 比特币白皮书 Bitcoin: A Peer-to-Peer Electronic Cash System
  2. 安卓actionbar上的搜索按钮点击没反应如何解决
  3. Embedding 技术在推荐系统中的应用实践
  4. 【数据结构与算法基础】队列、栈、递归
  5. 二进制文本编辑器_Textadept for mac(文本编辑) v10.5免费版
  6. qt向服务器传输文字_Qt实现客户端与服务器消息发送
  7. python中特殊变量-python list每三个分成一组python中星号变量的几种特殊用法
  8. 一致性hash算法学习
  9. Leetcode每日一题:53.maximum-subarray(最大子序和)
  10. Leetcode每日一题: 1.two-sum(两数之和)