tomcat占用cpu这么高的原因-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

tomcat占用cpu这么高的原因

2016-05-27 15:39:17 2942 1

有这样一台web服务器,上边安装着nginx(做反向代理),另外安装了一个tomcat7.0.23,jdk1.7
该tomcat上运行了一个webapp,主要提供了两个服务,一个是短信,另一个是定时器,定时获取邮件表中未发送的邮件,每分钟检查一次
该webapp部署在别的服务器上,cpu,内存工作都正常,唯独部署在这台服务器上,cpu高的吓人;
下图是我用visualVM抓的图,请帮忙分析一下
1
把问题服务器上的环境原封不动的复制到另外一台机器上,工作十分正常
另外,该服务2个月前已经稳定运行了1年半,tomcat都没重启过,就是最近突然出现这个问题,cpu 接近100%
起初考虑是否该tomcat的某个端口收到了攻击,我将tomcat的端口折腾了一边,问题依旧
请大家帮忙分析一下

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:18:03

    碰到这种问题,一般会做一个简单的jsp页面,列举虚拟机中所有的线程(显示线程名称、对应类名以及运行状态),然后监控看看是否有一些线程是一直处于RUNNABLE状态(除了一些Tomcat自身的服务线程除外)
    继续深入来看的话,在接收到请求的时候把当前线程名和对应的URL地址打印出来。
    二者结合来看,就能看到是用户在访问哪个URL而导致的线程一直在运行。
    列举所有线程的jsp页面:

    <html>
    <head>
    <title>Threads in ldcstudy.com</title>
    <style>
    body {font-size:8pt;}
    ol {line-height:18px;}
    </style>
    </head>
    <body>
    <strong>java.io.tmpdir:</strong>
    <ul>
    <li><%=System.getProperty("java.io.tmpdir")%></li>
    </ul>
    <br/>
    <strong>Memory:</strong>
    <ol>
    <li>freeMemory=<%=Runtime.getRuntime().freeMemory()/(1024*1024)%>M</li>
        <li>totalMemory=<%=Runtime.getRuntime().totalMemory()/(1024*1024)%>M</li>
        <li>maxMemory=<%=Runtime.getRuntime().maxMemory()/(1024*1024)%>M</li>
    </ol>
    <br/>
    <strong>Thread:</strong>
    <ol>
    <%for(Thread t : list_threads()){%>
    <li><%=t.getName()%>(<b><%=t.getState()%></b>) : <%=t.getClass().getName()%></li>
    <%}%>
    </ol>
    <%!
    public static java.util.List<Thread> list_threads(){
        int tc = Thread.activeCount();
        Thread[] ts = new Thread[tc];
        Thread.enumerate(ts);
        return java.util.Arrays.asList(ts);
    }
    %>
    </body>
    </html>
    0 0
相关问答

48

回答

云计算自助服务开篇

阿里云支持与服务 2012-12-18 12:00:13 76594浏览量 回答数 48

38

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 79449浏览量 回答数 38

24

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 657836浏览量 回答数 24

88

回答

手把手教你搭建自己的OSS FTP 服务器

lei.zhuol 2012-05-16 14:48:33 91269浏览量 回答数 88

257

回答

“零基础”系列课程--如何在ECS上快递搭建一个WordPress站点

patricia 2015-09-30 17:40:16 87196浏览量 回答数 257

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 309265浏览量 回答数 251

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 124713浏览量 回答数 97

47

回答

网站云计算用户帮助手册

xiaofanqie 2011-07-18 20:47:44 74164浏览量 回答数 47

27

回答

阿里云开源软件镜像站点上线啦!!

qilu 2014-01-06 18:14:06 97086浏览量 回答数 27

37

回答

【云服务器教程征集令】这个六一阿里云邀您来吐槽!

fanyue88888 2012-06-01 18:55:41 114808浏览量 回答数 37
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载