首页 > 解决方案 > 如何在 Windows 上增加 Tomcat 堆内存

问题描述

我在互联网上和 stackoverflow 上阅读了很多帖子,但我仍然无法增加Tomcat 堆大小。可能我犯了一个我无法识别的错误。

按照本指南 ,我执行了以下步骤:

  1. 我在文件夹{tomcat}\bin中创建了文件setenv.bat
  2. 在文件setenv.bat中,我添加了字符串set "JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m -XX:MaxPermSize=512m -server"

当我运行 Tomcat 然后启动我的应用程序(例如 localhost:8080/appName)并尝试以这种方式了解堆信息时:

long maxHeapSize = Runtime.getRuntime().maxMemory();        
long freeHeapSize = Runtime.getRuntime().freeMemory();  
long totalHeapSize = Runtime.getRuntime().totalMemory();    
System.out.println("Max Heap Size = " + (maxHeapSize/1024/1024)+ " MB");    
System.out.println("Free Heap Size = " + (freeHeapSize/1024/1024)+ " MB");  
System.out.println("Total Heap Size = " + (totalHeapSize/1024/1024)+ " MB");        

我知道最大堆大小始终为 256 MB。有人知道我的错误是什么吗?

标签: javatomcatheap-memory

解决方案


详情请看:

  1. 我使用apache-tomcat-9.0.14-windows-x64.zip
  2. 确定使用正确的java版本
  3. 编辑 catalina.bat 在 setlocal 之后添加 set JAVA_OPTS=-Xms128m -Xmx1024m
  4. 用startup.bat启动 Tomcat
  5. 检查 JVM:启动jconsole,选择Tomcat,选择不安全
  6. 参见XMS、XMX

如果你想启动Tomcat9w.exe,你需要安装服务


推荐阅读