在Linux中当Tomcat启动后,我们只是去查看应用是否能够正常访问来判断Tomcat启动是否正常。一般情况下这样看是没有问题的,但是有时候我们会发现当Tomcat使用了一段时间后,开始出现CPU或者内存飙升。此时,查看Tomcat日志也许无法看到有效信息,因此有必要了解一下Linux和jdk给我们提供的相关工具。

1、查看内存和CPU使用较高的进程信息

输入top,我们可以看到下面的信息

2、如果我们想查看PID为3583的进程信息,则可以执行

top -H -p 3582

说明:3582为进程ID,一个进程可以有多个线程。这个基础知识科普给刚入门的小伙伴。

此时,我们可以看到进程3582下面的相关线程信息。占用资源较多的线程会排在前几个。OK,截图如下。

3、既然都找到线程消耗信息了,但是我们还没找到原因。别着急,下面我们来查看一下某个线程的堆栈信息,

如PID为3590的线程。至于说为什么要看堆栈信息,这个就不用我多说了。如果不清楚的,估计也接触不到这个东东了。OK,回归正题。要查看某个java线程的堆栈信息,我们当然得使用jdk自带的jstack工具。

使用方法:

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

-A 10表示查找到所在行的后10行。3590用计算器转换为16进制e06,注意字母是小写。

OK,下面我们执行下面的命令。

jstack 3582|grep -A 10 e06

执行完毕,我们会看到如图所示的堆栈信息,此时我们就能结合相关线程提示的信息来做自己的判断了。

---------------------
作者:洛枫偃月
来源:CSDN
原文:https://blog.csdn.net/zgs_shmily/article/details/51019933
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/python-cat/p/9841758.html

tomcat占用cpu比较多相关推荐

  1. 操作系统:为什么IO操作不占用CPU却会导致进程阻塞?Web服务器每接收一个请求都会创建一个新的线程吗?Tomcat服务器工作原理?

    为什么IO操作不占用CPU却会导致进程阻塞?Web服务器每接收一个请求都会创建一个新的线程吗?这两个问题在我学操作系统以前我都挺困惑的.现在我来尝试着解答一下. 1. 为什么IO操作不占用CPU却会导 ...

  2. php mysql cpu100_解决mysql占用cpu资源100%的问题_MySQL

    bitsCN.com 解决mysql占用cpu资源100%的问题 一个Win2003服务器,以前就跑了一个tomcat实例也没用nginx做前端代理,这个tomcat里面带了不少网站,但是访问量并不是 ...

  3. Tomcat内存CPU暴涨不降,绝对不是噱头

    经过了大约4天的时间和一个周日的思考,终于找到了Tomcat运行变慢的原因,当然,找到原因不是因为思考,思考只是想表达一下自己周末也考虑工作的装逼态度. 先感谢一下豹先生提供的jmap命令和网上各种大 ...

  4. tomcat服务器cpu占用率居高不下的原因分析及解决

    tomcat服务器cpu占用率居高不下的原因分析及解决 偶遇服务器cpu飙升,过段时间后正常,反反复复 获取cpu占用高的java进程运行中的堆栈信息 偶遇服务器cpu飙升,过段时间后正常,反反复复 ...

  5. kswapd0占用CPU过高问题处理

    项目场景: kswapd0占用CPU过高,严重影响服务器及虚拟机的使用. 问题描述 最近同事反应工作站上的虚拟机太慢了.到虚拟机上看了一下,资料占得很满,一点很长时间没反应,卡得不行,但虚拟机上只部署 ...

  6. Solr占用CPU持续过高原因查询

    线上java进程占用CPU忽高忽低,就是说一下子40%左右,一下子减下去. 这台服务器只有Solr,所以估计是Solr在GC. # jstat -gcutil 2072 2s JVM名词解释参考jav ...

  7. php-cgi占用cpu资源过高的解决方法

    转的网上的,不过对PHP-CGI菜鸟的人,还是有点帮助的. 1. 一些php的扩展与php版本兼容存在问题,实践证明 eAccelerater与某些php版本兼容存在问题,具体表现时启动php-cgi ...

  8. linux 下取进程占用 cpu/内存 最高的前10个进程

    1. linux 下 取进程占用 cpu 最高的前10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head ps auxw|head -1 ...

  9. 怎么解决tomcat占用8080端口问题图文教程 端口被占用

      怎么解决tomcat占用8080端口问题 相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现 Several ports (8080, 8009) required ...

最新文章

  1. Unet实现图像分割(二)
  2. html 最初级学习笔记一
  3. 万能makefile深入浅出 - 第三篇
  4. Kaggle 发布首份数据科学从业报告 | 不及美国同行1/3,中国数据科学家平均年薪约3万美元
  5. 探讨JS合并两个数组的方法
  6. Java eclipse: errors exist in required project(s)
  7. CDLinux破解WEP、WPA加密过程
  8. Webgl开发输入框兼容问题及开发注意的问题
  9. http://wsj356428476.iteye.com/blog/1655032
  10. ST7735 TFT显示屏 显示问题
  11. 1.Dosbox的安装与使用
  12. 预训练模型在金融 NLP场景下的应用
  13. SVM要点总结(一)
  14. 一度智信|拼多多客服售后须知
  15. Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险
  16. 2021年12月电子学会图形化三级编程题解析含答案:跳高比赛
  17. TCP的FIN/RST Cookie
  18. Django1.11.4框架简介(一)
  19. Google 屏蔽的关键字
  20. JQ获取元素的父子兄弟级

热门文章

  1. 计算机网络和机器视觉,一文读懂计算机视觉和机器人视觉
  2. python不退出运行页面_如何在不完全退出Tkinter窗口的情况下停止正在运行的函数?...
  3. python清除缓存的命令_python – 重启django服务器时清除缓存的最佳位置
  4. android 基于位置服务,Android 基于位置服务的基本知识
  5. asp.net web开发框架_百小僧:拥抱.NET 5,从这个极速开发Web应用框架开始,Fur开源了!...
  6. mysql数据库各表、数据库数据容量查询
  7. 方差 标准差_方差与标准差——杭州市初中数学核心组寒假微课学习八年级第38课...
  8. js解析二维码_最新最全阿里巴巴,今日头条,腾讯Flutter面试真题全解析(狂虐不止)...
  9. 二叉树的基本操作(c语言)
  10. BFS 保存路径模板