最近发现,之前部署的站点不响应了,页面老长时间打不开。登上服务器,一点一点看吧。
首先敲入 top 命令。
发现java所占用的CPU长时间100%,内存占用倒不是很厉害。
再把Tomcat的logs中的catalina.out打开看看,有错误:
引用
SEVERE: Error reading request, ignored
java.lang.OutOfMemoryError: PermGen space
我这个时候的想法是,CPU是不是都用在GC上了。但是GC一般都用在Young Generation和Old Generation。Permanent Generation里也会垃圾回收吗?(此处忘高手指点)
再用 jmap -heap <pid> 看了一下内存使用情况。
Perm Generation里还真是接近100%的被使用。
其中,PermSize是16M,MaxPermSize是64M。
只有打开catalina.sh,在里面加上这么一句。
引用
-XX:PermSize=64M -XX:MaxPermSize=128M \
重新启动服务。
这个问题就算解决了。
分享到:
相关推荐
【如何提高Linux Java性能的分析】 Java应用程序在Linux平台上的性能优化是一个复杂而重要的主题,尤其是在高并发和大规模数据处理的场景下。Java线程堆分析是定位和解决性能问题的有效工具,它提供了关于应用程序...
通过上述步骤,可以有效地定位并解决Java应用在Linux服务器上引发的性能问题。值得注意的是,性能问题往往具有复杂性,可能涉及多个方面的原因,因此在实际操作中需要灵活运用多种工具和技术手段,综合分析才能达到...
- **优化工具的应用**:利用Java性能分析工具,如VisualVM和JProfiler,可以对运行在Linux上的Java应用进行性能优化。 - **多样化的配置模式**:支持多种配置模式,例如基于Web的应用程序、移动应用或者物联网(IoT)...
本文将详细介绍在Linux系统(以CentOS为例)上安装Java Development Kit (JDK) 和Apache Tomcat的过程。 ### 一、准备工作 #### 1.1 系统环境准备 - **操作系统**: CentOS 7.x 或更高版本。 - **用户权限**: 拥有...
本文对Linux操作系统的网络性能瓶颈问题进行了深入的分析,并提出了使用轮询机制来提高Linux系统的网络性能的解决方案。该解决方案可以有效地减少CPU资源的占用,提高系统的网络性能。 Linux操作系统的网络性能...
jProfiler7作为一个强大的Java性能诊断工具,对于任何Linux环境下的Java开发人员来说都是必备的。熟练掌握其使用,可以有效地提升Java应用程序的性能,减少资源浪费,防止内存泄漏,从而提高整体系统的稳定性和效率...
在Linux平台上搭建Java Web服务器是一项综合性的技术任务,涉及到操作系统配置、网络服务部署以及应用服务器的安装与调优。根据给定的文件信息,我们可以深入探讨以下关键知识点: ### 一、Linux环境下软件包管理 ...
为了解决这些问题,并充分发挥Java在企业级应用中的优势,LAJP应运而生。 ##### LAJP概述 **LAJP**(Linux Apache Java Php)是一种结合了LAMP简便性和Java强大功能的技术组合。它不仅保留了LAMP架构的灵活性和...
压缩包中的图片文件可能包含有关JDK安装的特定说明,特别是在处理权限问题、自定义安装路径或解决特定依赖时。由于无法直接查看图片内容,具体信息只能通过实际打开图片才能得知。 总的来说,这个压缩包为Linux上的...
5. **解决安装问题**:可能遇到的问题包括磁盘空间不足、环境变量设置不正确等,需要针对性地解决。 6. **安装11g在已有10g的环境中**:这涉及到版本共存,需要仔细规划数据文件的位置,避免冲突。 7. **创建数据库*...
### Linux配置JAVA开发环境 #### 一、概述 在Linux环境下搭建Java开发环境是一项常见的任务,对于开发者来说至关重要。本文将详细介绍如何在Linux系统中配置Java开发环境,并确保其能够正常运行。 #### 二、准备...
本篇将详细介绍如何使用Java和JSch在Windows上实现对Linux服务器的文件获取。 首先,我们需要理解SSH(Secure Shell)协议。SSH是一种网络协议,用于安全地远程登录到服务器,执行命令和传输数据。JSch库实现了SSH2...
在Linux服务器环境中,应用卡死或性能问题是一个常见的挑战,特别是在处理高负载的服务时。针对这类问题,系统管理员和开发者...这不仅要求我们熟悉Linux和Java的相关知识,还要求我们具备良好的问题解决能力和耐心。
在Java虚拟机的上下文中,性能监控主要关注的是如何利用各种工具和技术来监控和改善JVM及其上运行的应用程序的性能。 ##### 目标: - **保持和管理系统健康**:通过持续监控系统的各项指标,可以及时发现潜在问题,...
Java JDK 1.8是Java开发工具包的一个重要版本,尤其在Linux环境下,它为开发者提供了在该操作系统上构建和运行Java应用程序所需的所有组件。Java JDK(Java Development Kit)是Oracle公司发布的用于Java开发的...
Java性能监控是优化Java应用程序的关键环节,它可以帮助开发者识别并解决性能瓶颈,确保程序的高效稳定运行。在Java中,有一些内置的工具可以用来监控和分析性能,包括内存使用、垃圾回收等方面。 首先,`jps`命令...
这些脚本都是针对Java开发者和系统管理员的利器,旨在提高效率和解决问题。 1. **show-busy-java-threads** 这个脚本的主要功能是显示正在忙碌的Java线程,帮助我们了解Java应用的运行状况。在多线程环境中,如果...
7. **Java性能分析工具**:如jvisualvm,提供内存、CPU使用情况等性能监控。 8. **Java运行时环境**:包含了Java核心类库,如rt.jar,以及标准扩展库。 对于Linux 64位系统,这个免安装版的JDK确保了与系统架构的...
自启动shell脚本和CPU、内存占用监控脚本能确保Java服务在系统启动时自动运行,并实时监测其性能状态,以便及时发现和处理潜在问题。下面将详细介绍这两个方面的内容。 一、Linux系统Java服务自启动shell脚本 自...