一:异常项目构建

1.通过while死循环构造异常常见:

  1. package com.huawei.jvm;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5.  
  6. /**
  7. * This is Description
  8. *
  9. * @author 王明飞
  10. * @date 2018/08/31
  11. */
  12.  
  13. @Controller
  14. public class Test {
  15.  
  16. @RequestMapping("/hello")
  17. public String hello()
  18. {
  19. return "hello";
  20. }
  21.  
  22. @RequestMapping("/jvm01")
  23. public void jvm01()
  24. {
  25. while (true)
  26. {
  27. }
  28. }
  29. }

二:项目部署到linux服务器上

1.可通过war包放到webapp目录下;

2.启动tomcat自动解压。

3.关闭tomcat;

4.删除webapp目录下的war包

5.启动tomcat;

三:linux 服务器top命令查看

终端观察下图中的三处变化

访问前:top命令状态

curl使用后:

可以看到cpu使用达到了99.7%

四: 使用jstack命令

  1. [root@localhost ~]# jstack 16350 >16350.txt
  2. [root@localhost ~]# ll
  3. 总用量 179304
  4. -rw-r--r--. 1 root root 12687 8 2 08:19 16350.txt
  5. -rw-------. 1 root root 1096 7 22 00:54 anaconda-ks.cfg
  6. drwxr-xr-x. 9 root root 4096 7 24 23:12 apache-tomcat-7.0.47
  7. -rw-r--r--. 1 root root 8234674 9 11 2015 apache-tomcat-7.0.47.tar.gz
  8. -rw-r--r--. 1 root root 14558 8 2 04:33 a.txt
  9. drwxr-xr-x. 3 root root 4096 7 22 03:44 IK Analyzer 2012FF_hf1
  10. -rw-r--r--. 1 root root 8017 7 22 00:54 install.log
  11. -rw-r--r--. 1 root root 3384 7 22 00:53 install.log.syslog
  12. -rw-r--r--. 1 root root 7586984 9 1 2018 jvm-test01-1.0-SNAPSHOT.war
  13. drwxr-xr-x. 8 root root 4096 7 22 02:03 solr-4.10.3
  14. -rw-r--r--. 1 root root 150010621 9 11 2015 solr-4.10.3.tgz.tgz
  15. drwxr-xr-x. 10 1000 1000 4096 2 20 2014 zookeeper-3.4.6
  16. -rwxrwxrwx. 1 root root 17699306 5 28 21:14 zookeeper-3.4.6.tar.gz

五:按住shift+H,转行成打开show thread

  1. [root@localhost ~]# printf "%x \n" 16381
  2. 3ffd
  3. [root@localhost ~]# vi 16350.txt
  4. 2018-08-02 08:19:33
  5. Full thread dump Java HotSpot(TM) Client VM (24.55-b03 mixed mode):
  6.  
  7. "Attach Listener" daemon prio=10 tid=0xe081c800 nid=0x401a waiting on condition [0x00000000]
  8. java.lang.Thread.State: RUNNABLE
  9.  
  10. "http-bio-8080-exec-3" daemon prio=10 tid=0xe0c99000 nid=0x3ffd runnable [0xe0a7a000]
  11. java.lang.Thread.State: RUNNABLE
  12. at com.huawei.jvm.Test.jvm01(Test.java:25)
  13. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  14. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  15. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  16. at java.lang.reflect.Method.invoke(Method.java:606)
  17. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
  18. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.jav
  19. a:137)

五:查看源代码:

定位出是while死循环引起

12_jvm性能优化专题1——top命令和jstack联合定位的更多相关文章

  1. SQLServer性能优化专题

    SQLServer性能优化专题 01.SQLServer性能优化之----强大的文件组----分盘存储(水平分库) http://www.cnblogs.com/dunitian/p/5276431. ...

  2. MySQL数据库性能优化专题

    摘录: 书:<MySQL性能调优与架构设计> 一个系列: (按顺序排一下) MySQL 数据库性能优化之缓存参数优化 http://isky000.com/database/mysql-p ...

  3. Linux 性能优化工具 perf top

    1. perf perf 是一个调查 Linux 中各种性能问题的有力工具. NAME perf - Performance analysis tools for Linux SYNOPSIS per ...

  4. jQuery EasyUI Datagrid性能优化专题

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能都望而却步了.本博客以后会带着分析Data ...

  5. jQuery EasyUI Datagrid性能优化专题(转)

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能 都望而却步了.本博客以后会带着分析Dat ...

  6. Unity性能优化专题---腾讯牛人分享经验

    这里从三个纬度来分享下内存的优化经验:代码层面.贴图层面.框架设计层面. 一.代码层面. 1.foreach. Mono下的foreach使用需谨慎.频繁调用容易触及堆上限,导致GC过早触发,出现卡顿 ...

  7. iOS性能优化专题

    http://wereadteam.github.io/2016/05/03/WeRead-Performance/ https://www.cnblogs.com/oc-bowen/p/599999 ...

  8. Unity3D性能优化--- 收集整理的一堆

    http://www.cnblogs.com/willbin/p/3389837.html 官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Ma ...

  9. 性能优化之Java(Android)代码优化

    最新最准确内容建议直接访问原文:性能优化之Java(Android)代码优化 本文为Android性能优化的第三篇——Java(Android)代码优化.主要介绍Java代码中性能优化方式及网络优化, ...

随机推荐

  1. PAT 1148 Werewolf - Simple Version

    1148 Werewolf - Simple Version (20 分)   Werewolf(狼人杀) is a game in which the players are partitioned ...

  2. vue-cli(vue脚手架) 简单使用

    1.vue-cli 作用 vue-cli作为vue的脚手架,可以帮助我们在实际开发中自动生成vue.js的模板工程. 2.vue-cli 使用 a. 安装全局vue-cli npm install v ...

  3. 基于thinkphp的后台管理系统模板快速搭建

    当我们在搭建网站的时候,后端开发人员在编写后台的管理系统的时候,往往会因为缺少一个合适的后台管理系统的模板,而必须去重新编写一个,这几天由于工作上的安排,需要去研究一下thinkcmf的后台管理系统, ...

  4. 基于Live555实现RtspServer及高清高分辨率和高码率视频传输优化

    基于Live555实现RtspServer及高清高码率视频传输优化 最近做了一些pc和嵌入式平台的RTSP服务器项目,大多数的要求是简单但是功能全面,并且性能还要强劲.综合考虑后,基本都是在基于liv ...

  5. 在本地运行正常的静态网页放到tomcat中却显示异常的原因

    在本地写好了一个个人网站,本地直接用浏览器运行,很顺利,然而把网站放到Tomcat里面,却发现图片显示不出来,这就奇怪了. 后来发现,我的网站的Image文件夹用了大写“I”,而网页里面的路径用了小写 ...

  6. lr12脚本参数化

    1.注册.登录.获取商品列表lr脚本 Action() {        lr_save_string("192.168.46.129:8080","IP"); ...

  7. js检测页面离开

    window.location = 'yjk://app.h5.ihaozhuo.com?page=livetrailer&videoLiveId=' + parseInt(this.Requ ...

  8. cordova/phonegap/webapp性能优化方法

    1.有条件可以自己做UI,不要用框架.用框架的话不要用jquery mobile,用sencha touch或者jqmobi(app framework) 2.不要在服务器生成UI,在本地生成. 3. ...

  9. LoadRunner基本简介

    # LoadRunner  # ## 安装要求 ##     做性能测试的时候,电脑要是一个干净的系统.     尽量是裸装电脑纯净版,不能安装太多的浏览器,支持的有IE.Firefox.chrome ...

  10. 4ci