`
wb284551926
  • 浏览: 551286 次
文章分类
社区版块
存档分类
最新评论

tomcat+java的web程序持续占cpu高问题调试【转】

 
阅读更多

转自

tomcat+java的web程序持续占cpu问题调试 - 像风一样的自由 - CSDN博客
http://blog.csdn.net/five3/article/details/28416771

生产环境下JAVA进程高CPU占用故障排查-huifeideluotuo-ChinaUnix博客
http://blog.chinaunix.net/uid-10449864-id-3463151.html

现象:

在tomcat中部署Java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻。

 

可能原因分析:

可能程序确实在进行数据计算;或程序进入死循环;

 

解决方法:

1、先用top查看占用cpu的进程id

2、再用ps -ef | grep PID定位具体的进程主体;如是否是tomcat启动的java程序

3、用ps -mp pid -o THREAD,tid,time打印出该进程下的线程占用cpu情况

1

找到了耗时最高的线程28802,占用CPU时间快两个小时了!

或者使用

[root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort -rn
显示结果如下:
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
root     10.5  19    - -         -      -  3626 00:12:48
root     10.1  19    - -         -      -  3593 00:12:16

 

4、其次将需要的线程ID转换为16进制格式:

printf "%x\n" tid

2

5、最后打印线程的堆栈信息:

jstack pid |grep tid -A 30

3

找到出现问题的代码,并分析具体函数中是否有可能出现死循环的代码段。

通常问题出现在while, for之类的循环代码片段。

分享到:
评论

相关推荐

    linux+apache+tomcat+java配置文件.rar

    在IT领域,Linux、Apache、Tomcat和Java的组合是一种常见的服务器端技术栈,用于构建高效、稳定且可扩展的Web应用程序。这个“linux+apache+tomcat+java配置文件.rar”压缩包很可能是为了帮助用户搭建和配置这样一个...

    myeclipse开发\Eclipse+IDE开发Java+Web应用程序

    根据给定的文件信息,我们可以总结出以下关于使用MyEclipse和Eclipse IDE开发Java Web应用程序的知识点: ### 一、环境配置与安装 #### 1. 环境要求 - **硬件需求**:CPU主频至少1G,内存至少512M。Java开发及...

    tomcat cpu high

    8. **监控与调试**:使用工具如JMX(Java Management Extensions)监控Tomcat性能,或通过`jstack`命令查看线程状态,定位可能导致CPU高的问题。 9. **负载均衡与集群**:当单个Tomcat实例无法满足需求时,考虑使用...

    linux安装教程+oracle的安装+jdk安装+tomcat安装.docx

    在IT领域,Linux操作系统是许多企业和开发者首选的服务器平台,Oracle数据库则是企业级数据库管理系统的重要选择,而Tomcat作为轻量级的Java应用服务器,常用于部署Java Web应用。以下是对这些技术的详细讲解。 ...

    tomcat8.5.59

    Tomcat是Apache软件基金会下的一个开源项目,是一款广泛使用的Java Servlet容器,它实现了Java EE的Web应用程序规范。在本文中,我们将详细探讨Tomcat 8.5.59版本,这是Tomcat 8.x系列的一个稳定版本,具有诸多改进...

    java web环境搭建文档.doc

    【Java Web环境搭建】搭建Java Web应用程序开发环境主要包括三个关键步骤:JDK的安装与配置、Tomcat服务器的安装与运行以及集成开发环境(IDE)的配置。这里以MyEclipse为例,详细阐述整个过程。 1. **JDK的下载与...

    java语言写的web服务器

    尽管这里没有明确提到Servlet,但在更复杂的Java Web服务器实现中,Servlet容器(如Tomcat)通常用于管理和运行Servlet。 5. **线程管理**: 由于Web服务器可能同时接收多个请求,因此需要有效地管理线程来处理...

    apache-tomcat-7.0.68.tar.gz

    Apache Tomcat 7.0.68 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat 7系列的一个具体发行版,提供了对Java标准版7(Java SE 7)的...

    java Web Service 打成War包后如何Debug

    当你将一个Java Web Service项目打包成WAR(Web Archive)文件时,这通常意味着你的应用程序已经准备部署到Web服务器上,如Apache Tomcat或Jetty。然而,开发过程中有时需要对WAR包中的代码进行调试,这就涉及到一些...

    Tomcat 插件

    Tomcat插件是Java应用程序服务器Apache Tomcat中的一个重要组成部分,主要用于简化Tomcat的管理和部署过程。在Java Web开发中,Tomcat作为轻量级应用服务器,广泛用于运行Servlet和JSP应用。Tomcat插件提供了丰富的...

    jdk1.8-32 tomcat 8.0

    总结来说,JDK 1.8和Tomcat 8.0的组合是构建和运行Java Web应用程序的标准配置。JDK 1.8的特性提升了开发体验,而Tomcat 8.0则为部署和运行Java Web应用提供了可靠的服务器平台。两者结合,开发者可以创建、测试和...

    tomcatPlugin

    1. **Apache Tomcat**:Apache Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web应用程序部分,特别是Servlet和JSP规范。Tomcat是轻量级的应用服务器,广泛用于小型到中型的Java Web应用。 2. **插件系统...

    apache-tomcat-9.0.22.tar.gz

    Apache Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。它是Apache软件基金会的一部分,专注于实现Java Servlet和JavaServer Pages(JSP)规范。在这个"apache-tomcat-9.0.22.tar.gz"压缩包...

    tomcat9.0-windows-64位

    Tomcat监控应用程序是管理工具,用于监视Tomcat服务器的运行状态,如CPU使用率、内存占用、线程信息以及连接器的状态等。这些信息对于排查性能问题和调试应用非常有用。通常,管理员可以通过Web界面或命令行工具来...

    esclipse中tomcat插件

    Tomcat是一个流行的开源Web应用服务器,尤其适合运行Java Servlets和JavaServer Pages(JSP)。在Eclipse中安装Tomcat插件,能够帮助开发者更加方便地部署、调试和管理基于Tomcat的应用。 首先,我们需要了解如何在...

    SmartTomcat-4.2.0.zip

    在IT行业中,Tomcat作为一款流行的Java Servlet容器,广泛应用于Web应用的开发和运行。然而,随着应用规模的扩大,管理和维护Tomcat服务器的复杂性也随之增加,SmartTomcat应运而生,提供了一种直观且高效的解决方案...

    tomcat启动和关闭

    Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是部署Java Web应用程序的常用工具。 首先,我们来看`shutdown.bat`文件。这个文件是Windows操作系统下的批处理脚本,...

    tomcatplugin-9.1.4.zip

    1. **Apache Tomcat**:Apache Tomcat是一款开源的Java Servlet容器,它是Java EE Web应用程序的标准实现。Tomcat支持Servlet和JSP规范,是许多开发人员和企业选择的轻量级Web服务器。 2. **Tomcat插件**:Tomcat...

    apache-tomcat-8.5.32-windows-x64安装版

    Apache Tomcat 8.5.32 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。此版本是专为64位Windows操作系统编译的,确保在这样的平台上运行时的稳定性和性能。下面将详细介绍...

    apache-tomcat-6.0.53.zip

    在Linux系统上部署和管理Tomcat,对于开发和运行Java Web应用程序至关重要。 1. **Tomcat简介** Apache Tomcat是一个轻量级应用服务器,主要用来处理Java Web应用,包括Servlet和JSP。它遵循Java Servlet和Java...

Global site tag (gtag.js) - Google Analytics