转自
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情况
找到了耗时最高的线程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
5、最后打印线程的堆栈信息:
jstack pid |grep tid -A 30
找到出现问题的代码,并分析具体函数中是否有可能出现死循环的代码段。
通常问题出现在while, for之类的循环代码片段。
相关推荐
在IT领域,Linux、Apache、Tomcat和Java的组合是一种常见的服务器端技术栈,用于构建高效、稳定且可扩展的Web应用程序。这个“linux+apache+tomcat+java配置文件.rar”压缩包很可能是为了帮助用户搭建和配置这样一个...
根据给定的文件信息,我们可以总结出以下关于使用MyEclipse和Eclipse IDE开发Java Web应用程序的知识点: ### 一、环境配置与安装 #### 1. 环境要求 - **硬件需求**:CPU主频至少1G,内存至少512M。Java开发及...
8. **监控与调试**:使用工具如JMX(Java Management Extensions)监控Tomcat性能,或通过`jstack`命令查看线程状态,定位可能导致CPU高的问题。 9. **负载均衡与集群**:当单个Tomcat实例无法满足需求时,考虑使用...
在IT领域,Linux操作系统是许多企业和开发者首选的服务器平台,Oracle数据库则是企业级数据库管理系统的重要选择,而Tomcat作为轻量级的Java应用服务器,常用于部署Java Web应用。以下是对这些技术的详细讲解。 ...
Tomcat是Apache软件基金会下的一个开源项目,是一款广泛使用的Java Servlet容器,它实现了Java EE的Web应用程序规范。在本文中,我们将详细探讨Tomcat 8.5.59版本,这是Tomcat 8.x系列的一个稳定版本,具有诸多改进...
【Java Web环境搭建】搭建Java Web应用程序开发环境主要包括三个关键步骤:JDK的安装与配置、Tomcat服务器的安装与运行以及集成开发环境(IDE)的配置。这里以MyEclipse为例,详细阐述整个过程。 1. **JDK的下载与...
尽管这里没有明确提到Servlet,但在更复杂的Java Web服务器实现中,Servlet容器(如Tomcat)通常用于管理和运行Servlet。 5. **线程管理**: 由于Web服务器可能同时接收多个请求,因此需要有效地管理线程来处理...
Apache Tomcat 7.0.68 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat 7系列的一个具体发行版,提供了对Java标准版7(Java SE 7)的...
当你将一个Java Web Service项目打包成WAR(Web Archive)文件时,这通常意味着你的应用程序已经准备部署到Web服务器上,如Apache Tomcat或Jetty。然而,开发过程中有时需要对WAR包中的代码进行调试,这就涉及到一些...
Tomcat插件是Java应用程序服务器Apache Tomcat中的一个重要组成部分,主要用于简化Tomcat的管理和部署过程。在Java Web开发中,Tomcat作为轻量级应用服务器,广泛用于运行Servlet和JSP应用。Tomcat插件提供了丰富的...
总结来说,JDK 1.8和Tomcat 8.0的组合是构建和运行Java Web应用程序的标准配置。JDK 1.8的特性提升了开发体验,而Tomcat 8.0则为部署和运行Java Web应用提供了可靠的服务器平台。两者结合,开发者可以创建、测试和...
1. **Apache Tomcat**:Apache Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web应用程序部分,特别是Servlet和JSP规范。Tomcat是轻量级的应用服务器,广泛用于小型到中型的Java Web应用。 2. **插件系统...
Apache Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。它是Apache软件基金会的一部分,专注于实现Java Servlet和JavaServer Pages(JSP)规范。在这个"apache-tomcat-9.0.22.tar.gz"压缩包...
Tomcat监控应用程序是管理工具,用于监视Tomcat服务器的运行状态,如CPU使用率、内存占用、线程信息以及连接器的状态等。这些信息对于排查性能问题和调试应用非常有用。通常,管理员可以通过Web界面或命令行工具来...
Tomcat是一个流行的开源Web应用服务器,尤其适合运行Java Servlets和JavaServer Pages(JSP)。在Eclipse中安装Tomcat插件,能够帮助开发者更加方便地部署、调试和管理基于Tomcat的应用。 首先,我们需要了解如何在...
在IT行业中,Tomcat作为一款流行的Java Servlet容器,广泛应用于Web应用的开发和运行。然而,随着应用规模的扩大,管理和维护Tomcat服务器的复杂性也随之增加,SmartTomcat应运而生,提供了一种直观且高效的解决方案...
Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是部署Java Web应用程序的常用工具。 首先,我们来看`shutdown.bat`文件。这个文件是Windows操作系统下的批处理脚本,...
1. **Apache Tomcat**:Apache Tomcat是一款开源的Java Servlet容器,它是Java EE Web应用程序的标准实现。Tomcat支持Servlet和JSP规范,是许多开发人员和企业选择的轻量级Web服务器。 2. **Tomcat插件**:Tomcat...
Apache Tomcat 8.5.32 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。此版本是专为64位Windows操作系统编译的,确保在这样的平台上运行时的稳定性和性能。下面将详细介绍...
在Linux系统上部署和管理Tomcat,对于开发和运行Java Web应用程序至关重要。 1. **Tomcat简介** Apache Tomcat是一个轻量级应用服务器,主要用来处理Java Web应用,包括Servlet和JSP。它遵循Java Servlet和Java...