Runcible Asked: 2012-06-14 08:59:39 +0800 CST2012-06-14 08:59:39 +0800 CST 2012-06-14 08:59:39 +0800 CST 有没有办法禁用 Tomcat 内存限制? 772 在 /etc/tomcat6/tomcat6.conf 文件中,JAVA_OPTS 配置行使我能够为 Tomcat 设置内存限制。 例如: JAVA_OPTS="-Xms256M -Xmx1024M -XX:MaxPermSize=256m -XX:PermSize=128m" 有没有办法完全禁用 Tomcat 的内存限制?我希望 Tomcat 使用所有可用内存——我不想用这些参数人为地限制 JVM。 或者,让这些限制真的很大有什么坏处吗? tomcat memory 3 个回答 Voted Best Answer pyroscope 2012-06-15T10:13:53+08:002012-06-15T10:13:53+08:00 这实际上与 Tomcat 无关,但却是每个 Java 应用程序都必须处理的事情。网上有很多资源,例如: http://javarevisited.blogspot.de/2011/05/java-heap-space-memory-size-jvm.html josh.trow 2012-06-14T09:05:47+08:002012-06-14T09:05:47+08:00 您必须指定实际的内存量。 但是,如果您将所有系统内存提供给 JVM,您就没有留下任何东西供实际机器本身使用,因此您很可能会遇到系统崩溃或至少是非常糟糕的性能。此外,如果您唯一的解决办法是在 JVM 上投入更多内存,您可能希望查看更好、更优化的代码并进行实际分析以找到问题区域。 KM. 2012-06-14T09:07:37+08:002012-06-14T09:07:37+08:00 我会警告不要设置这些,尤其是在内存泄漏的情况下——这可能会占用您系统上的大部分(全部?)内存。此外,在垃圾回收的情况下,如果未检查内存使用情况,您的应用程序的暂停时间可能会变得不可接受。 调整 JVM 的大小取决于很多因素:您的应用程序的“足迹”、服务器上可用的 RAM、服务器上运行的其他进程等。如果您使用一些负载测试/分析来分析您的应用程序,从长远来看,您会更快乐工具,检查您的垃圾收集日志、服务器资源消耗等,并调整这些设置,而不是将它们遗漏。IMO,你应该运行一个精简的、调整良好的应用程序(-:
这实际上与 Tomcat 无关,但却是每个 Java 应用程序都必须处理的事情。网上有很多资源,例如:
http://javarevisited.blogspot.de/2011/05/java-heap-space-memory-size-jvm.html
您必须指定实际的内存量。
但是,如果您将所有系统内存提供给 JVM,您就没有留下任何东西供实际机器本身使用,因此您很可能会遇到系统崩溃或至少是非常糟糕的性能。此外,如果您唯一的解决办法是在 JVM 上投入更多内存,您可能希望查看更好、更优化的代码并进行实际分析以找到问题区域。
我会警告不要设置这些,尤其是在内存泄漏的情况下——这可能会占用您系统上的大部分(全部?)内存。此外,在垃圾回收的情况下,如果未检查内存使用情况,您的应用程序的暂停时间可能会变得不可接受。
调整 JVM 的大小取决于很多因素:您的应用程序的“足迹”、服务器上可用的 RAM、服务器上运行的其他进程等。如果您使用一些负载测试/分析来分析您的应用程序,从长远来看,您会更快乐工具,检查您的垃圾收集日志、服务器资源消耗等,并调整这些设置,而不是将它们遗漏。IMO,你应该运行一个精简的、调整良好的应用程序(-: