iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Tomcat内存溢出及内存设置的方法是什么
  • 489
分享到

Tomcat内存溢出及内存设置的方法是什么

2023-06-26 07:06:18 489人浏览 独家记忆
摘要

今天小编给大家分享一下Tomcat内存溢出及内存设置的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。java的内存

今天小编给大家分享一下Tomcat内存溢出及内存设置的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

java的内存有不同类型,不同类型的内存溢出,处理方法不同,一定要看清是那种异常。通常会碰到内存溢出异常有下面两种:

  • java.lang.OutOfMemoryError: PermGen space

  • java.lang.OutOfMemoryError: Java heap space

PermGen space

PermGen space内存溢出最常见。全称是Permanent Generation space,是指内存的永久保存区域。jdk8废除了PermGen space,可以避免这种类型的内存溢出,也无需设置该项。碰到这种内存溢出建议升级到JDK8,或者设置Perm内存。

jspxcms的内存设置建议值:

  • -XX:PermSize=128M:Perm内存最小值。

  • -XX:MaxPermSize=512M:Perm内存最大值。

Java heap space

Java heap space是堆内存溢出。碰到这种内存溢出,则需要加大堆内存。

Jspxcms的内存设置建议值:

  • -Xms256M:Heap内存最小值。

  • -Xmx512M:Heap内存最大值。内存充裕的可以配置为-Xmx1024M

Java内存类型

java内存的类型分为:堆(Heap)和非堆(Non-heap)内存。

堆(Heap)内存。用于存放运行时产生的数据,如运行时创建的对象、数组等数据。堆内存快被占满时,会启动垃圾回收,释放内存空间。如果没有设置Heap内存,默认是物理内存的1/4。现在内存条容量越来越大,堆内存溢出的情况相对较少。堆内存溢出时,出现的错误信息是:java.lang.OutOfMemoryError: Java heap space。

非堆(Non-heap)内存。就是PermGen。用于存放类的空间。默认是物理内存的1/64。java设计之初,各种程序规模相对较小,java类不多,并且运行时类的数量是固定的,所以该空间默认非常小,并且不进行垃圾回收。随着java的急剧发展,各种类库逐渐增多,java程序也变得越来越庞大,类的数量急速膨胀,默认非堆内存的空间越来越不够用。特别是反射机制与动态代理技术的广泛应用,程序可以在运行时创建类,使得PermGen内存溢出变得更为常见。非堆内存溢出时,出现的错误信息是:java.lang.OutOfMemoryError: PermGen space。

Java的设计者们也看到了这个问题,在jdk8中废除了PermGen,并且可以对存放类信息的空间进行垃圾回收。所以碰到java.lang.OutOfMemoryError: PermGen space异常,最好的办法就是升级到jdk8。

内存设置

不同软件、不同版本、不同情况下的设置方法各有不同。如eclipse的内存设置在eclipse目录下的eclipse.ini文件。

Tomcat解压版windows平台

修改{TOMCAT_HOME}/bin/catalina.bat,在第二行(即在第一行@echo off之后)插入以下配置:

set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

Tomcat解压版linux平台

修改TOMCAT_HOME/bin/catalina.sh,在第二行(即在第一行#!/bin/sh之后)插入以下配置:

JAVA_OPTS='-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m'

Tomcat安装版

安装版需要在控制面板里设置。-XX:PermSize=128m -XX:MaxPermSize=512m在Java Options里设置,-Xms256m -Xmx512m分别对应Initial memory pool、Maximum memory pool。

Tomcat内存溢出及内存设置的方法是什么

WEBLogic

修改{oracle_HOME}/user_projects/domains/base_domain/bin/setDomainEnv.sh(windows环境下是.cmd)

WLS_MEM_ARGS_64BIT="-Xms512m -Xmx1024m"export WLS_MEM_ARGS_64BITWLS_MEM_ARGS_32BIT="-Xms512m -Xmx1024m"export WLS_MEM_ARGS_32BITif [ "${JAVA_VENDOR}" != "HP" ] ; then    if [ "${VM_TYPE}" = "HotSpot" ] ; then        WLS_MEM_ARGS_64BIT="-Xms256m -Xmx1024m"        export WLS_MEM_ARGS_64BIT        WLS_MEM_ARGS_32BIT="-Xms256m -Xmx1024m"        export WLS_MEM_ARGS_32BIT    fifi

Eclipse中使用Maven启动Tomcat

在Eclipse中使用tomcat6:run或tomcat7:run启动Tomcat,需要在Run Configurations - JRE - VM arguments选项中设置。

Tomcat内存溢出及内存设置的方法是什么

以上就是“Tomcat内存溢出及内存设置的方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Tomcat内存溢出及内存设置的方法是什么

本文链接: https://www.lsjlt.com/news/307556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Tomcat内存溢出及内存设置的方法是什么
    今天小编给大家分享一下Tomcat内存溢出及内存设置的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。java的内存...
    99+
    2023-06-26
  • java内存溢出排查的方法是什么
    排查Java内存溢出问题的一般方法如下:1. 定位溢出位置:首先需要确定内存溢出的位置,可以通过查看错误日志或者使用内存分析工具来定...
    99+
    2023-10-10
    java
  • spark防止内存溢出的方法是什么
    Spark防止内存溢出的方法包括: 调整内存分配:可以通过调整Spark的executor内存大小、driver内存大小以及每个...
    99+
    2024-04-02
  • Java内存溢出的处理方法是什么
    这篇文章主要介绍“Java内存溢出的处理方法是什么”,在日常操作中,相信很多人在Java内存溢出的处理方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java内存溢出的处理方法是什么”的疑惑有所帮助!...
    99+
    2023-07-04
  • JavaScript内存泄漏和内存溢出是什么
    本篇内容主要讲解“JavaScript内存泄漏和内存溢出是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript内存泄漏和内存溢出是什么”吧! ...
    99+
    2024-04-02
  • java中内存泄漏和内存溢出是什么
    内存泄漏(Memory Leak)是指在程序运行过程中,因为不正确的内存管理而导致一部分内存无法被回收的现象。当程序中的对象不再被使...
    99+
    2023-08-25
    java
  • 基于ThreadLocal 的用法及内存泄露(内存溢出)
    目录使用构造方法静态方法公共方法内存泄露解决方法为什么要将ThreadLocal 定义成 static 变量对ThreadLocal内存泄漏引起的思考概述使用场景样例代码Thread...
    99+
    2024-04-02
  • java内存泄漏和内存溢出的原因是什么
    Java内存泄漏和内存溢出的原因如下:1. 内存泄漏:内存泄漏指的是在程序运行过程中,无用的对象仍然被保持在内存中,导致内存占用不断...
    99+
    2023-08-26
    java
  • tomcat服务器内存溢出怎么解决
    tomcat服务器内存溢出解决的方法:1、在tomcat安装目录路径的bin下,用编辑器打开catalina.bat;2、在“echo "Using CATALINA_BASE:  $CATALINA_BASE"...
    99+
    2024-04-02
  • Tomcat内存怎么设置
    今天小编给大家分享一下Tomcat内存怎么设置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、配置Tomcat/conf/...
    99+
    2023-06-27
  • eclipse内存设置的方法是什么
    在 Eclipse 中设置内存大小的方法有两种: 通过 Eclipse 启动参数设置:可以在 Eclipse 启动时,通过命令行...
    99+
    2024-03-02
    eclipse
  • 怎么设置tomcat内应用的内存
    要设置Tomcat内应用的内存,可以通过以下步骤进行操作:1. 打开Tomcat的安装目录,在bin文件夹中找到catalina.b...
    99+
    2023-09-09
    tomcat
  • 内存溢出、内存泄露的概述及常见情形
    内存溢出(OutofMemoryError) 简述 java doc 中对 Out Of Memory Error 的解释是,没有空闲内存,并且垃圾收集器也无法提供更多内存。 JVM 提供的内存管理机...
    99+
    2023-09-01
    jvm java 面试 内存泄露 内存溢出
  • android内存溢出和内存泄漏有什么区别
    Android内存溢出和内存泄漏是两个不同的问题。1. 内存溢出(Memory Overflow):内存溢出指的是当应用程序分配的内...
    99+
    2023-08-08
    android
  • java内存溢出的四种情况是什么
    这篇文章主要介绍了java内存溢出的四种情况是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java内存溢出的四种情况是什么文章都会有所收获,下面我们一起来看看吧。1、堆溢出,堆是存放实例对象的,但是这样堆...
    99+
    2023-06-30
  • jvm内存溢出排查的步骤是什么
    排查JVM内存溢出的步骤可以分为以下几个步骤:1. 确认内存溢出问题:通过观察应用程序的行为和报错信息,确认是否存在内存溢出问题。2...
    99+
    2023-08-11
    jvm
  • PHP内存溢出的解决方法详解
    目录1.处理数组时出现内存溢出2.使用sql查询数据,查出来很多,导致内存溢出3.假定日志中存放的记录数为500000条,那么解决方案如下4.上传excel文件时,出现内存溢出的情况...
    99+
    2024-04-02
  • Tomcat运行Java Web内存溢出的示例分析
    这篇文章主要介绍Tomcat运行Java Web内存溢出的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果JVM里运行的程序, 它的内存堆和持久存储区域的都满了,这个时候程序还想创建对象实例的话,垃圾收集器...
    99+
    2023-06-17
  • Ubuntu设置交换内存的方法是什么
    本篇内容介绍了“Ubuntu设置交换内存的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.打开终端命令行模式,输入以下命令查看系...
    99+
    2023-07-04
  • java内存溢出的原因和解决办法是什么
    Java内存溢出的原因通常是程序申请的内存超过了JVM所能提供的内存限制。常见的内存溢出原因包括:1. 对象创建过多:如果程序中频繁...
    99+
    2023-08-18
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作