为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式:

一、使用 catalina.bat 等命令行方式运行的 tomcat

查看系统最大支持内存命令:java -Xmx1024m -version

1、修改 tomcat\bin\Catalina.bat 文件
windows环境下:

在166行左右
rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

在 %DEBUG_OPTS% 后面添加-Xms256m -Xmx512m

linux环境下:

打开在Tomcat的安装目录的bin文件的catalina.sh文件,进入编辑状态.
在注释后面加上如下脚本:
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"

其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小.

-XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小

保存后,重新以命令行的方式运行 tomcat ,即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已经变更成功。

二、使用 系统中的 “服务”,或者开始菜单的可执行程序运行的tomcat

1、关闭 现在正在运行的tomcat

2.1 [注意]

[高版本tomcat配置方法]

如果是tomcat 5.5 或者是 5.0.28 之后的版本,在 Java 选项卡中,下方,会有
Inital memory Pool:   
Maximum memory Pool:
Thread stack size:
三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置
Inital memory Pool 为 256
Maximum memory Pool 为 512

点击确定后,重启tomcat 生效

如果您是低版本的tomcat,发现没有上面那几个录入框,请看下面的操作步骤

[低版本tomcat配置方法]

在开始菜单中,找到“Apache Tomcat 5.0”,并选择“Configure Tomcat”,在弹出的对话框窗口中,切换到 Java VM 选项卡,并在 Java Options 输入框的最前面输入

-Xms256m -Xmx512m

即输入框中的内容会像下面的代码(与自己的环境有所区别)

-Xms256m -Xmx512m
-Dcatalina.home="C:\tomcat5"
-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"
-Xrs

设置完后,点击“确定”,并重启tomcat即可。

三、查看现有tomcat的内存大小情况

1、启动tomcat
2、访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 admin ,密码 admin(密码是您在tomcat安装时输入的)

注:添加用户,修改conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>

3、进入了Server Status页面,可以在JVM表格中看到 
Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB

上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。
确定了最大内存足够大时,tomcat即可正常运转

tomcat 查看和修改内存的更多相关文章

  1. tomcat查看并修改jvm大小

    JVM--Java Virtual Machine,Java虚拟机:tomcat不是直接运行在物理操作系统上,而是运行在Java虚拟机上,通常说的配置jvm就是配置分配给Java虚拟机的内存大小: 如 ...

  2. Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口

    Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...

  3. Linux 下修改Tomcat使用的JVM内存大小

    我的服务器的配置: # OS specific support.  $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...

  4. 修改Tomcat使用的JVM内存大小

    我的服务器的配置: # OS specific support.  $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...

  5. myeclipse修改内存大小不足tomcat内存不足

    myeclipse修改内存大小不足 打开Windows-> Preferences -> Java->Installed JREs 点击右侧的jdk,然后点击“Edit”按钮 Def ...

  6. 第05篇. Tomcat和JDK的内存配置

    站在人群,我毫不起眼:活在世上,我不玩心眼! 没有那么远大的目标,但是也不要把我当成傻子! --胖先生 放在前面要说的话:JVM内存分配设置的参数有四个 -Xmx Java Heap最大值,默认值为物 ...

  7. Tomcat和JDK的内存配置

    1.jvm内存管理机制: 1)堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Ja ...

  8. 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库

    工欲善其事,必先利其器 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利. 原文地址:http ...

  9. Tomcat和JVM的内存配置

    原文路径:https://www.cnblogs.com/pangxiansheng/p/5378537.html JVM内存分配设置的参数有四个 -Xmx Java Heap最大值,默认值为物理内存 ...

随机推荐

  1. Android学习之基础知识四-Activity活动8讲(活动的灵活运用)

    一.判断当前是在哪个活动 1.我们还是接着上一讲的代码,首先创建一个Java类:BaseActivity.java.这个类我们不作为一个活动,也不在AndroidManifest.xml中注册,它只是 ...

  2. Selenium:HTML测试报告

    自动化测试过程中,获得用例的执行结果后,需要有具象化.简洁明了的测试结果,比如:用例执行时间.失败用例数.失败的原因等,这时候,就需要用到测试报告. HTML测试报告是python语言自带的单元测试框 ...

  3. Android 绘制一个Loading动画__向图片中缓慢填充颜色,从而形成动画效果

    需求:制作一个加载动画,向一个不规则图片图形中从从下到上依次填充颜色,形成动画效果. 效果如下:     代码如下: LoadingAnimatorView.java package cn.yw.li ...

  4. 学习CSS布局 - 盒模型

    盒模型 在我们讨论宽度的时候,我们应该讲下与它相关的另外一个重点知识:盒模型. 当你设置了元素的宽度,实际展现的元素却超出你的设置: 这是因为元素的边框和内边距会撑开元素. 看下面的例子,两个相同宽度 ...

  5. [Codeforces1137D]Cooperative Game

    [Codeforces1137D]Cooperative Game Tags:题解 题意 这是一道交互题. 给你一张下面这样的地图,由一条长为\(t\)的有向链和一个长为\(c\)的环构成. 现在你有 ...

  6. 【noi.ac】#309. Mas的童年

    #309. Mas的童年 链接 分析: 求$max \{sj + (s_i \oplus s_j)\}$ 因为$a + b = a \oplus b + (a \& b) \times 2$ ...

  7. 2091: [Poi2010]The Minima Game

    2091: [Poi2010]The Minima Game 链接 分析: 首先排序后,一定是选的连续的一段. f[i]表示前i个位置,先手-后手的最大得分. 那么考虑第i个位置是否选,如果选,先手选 ...

  8. Python从菜鸟到高手(1):初识Python

    1 Python简介 1.1 什么是Python   Python是一种面向对象的解释型计算机程序设计语言,由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版 ...

  9. Shell编程基础篇-上

    1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚 ...

  10. 渐进式 JavaScript 框架--Vue

      前  言   灵活 不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩. 高效 20kB min+gzip 运行大小超快虚拟 DOM 最省心的优化 1 计算属性 计算属性关键词: comp ...