我目前有一台 Linux 服务器,安装了 Java 1.6 和 Apache Tomcat/6.0.18,内存为 512 Mb。我目前托管一个 Web 应用程序,但我计划将另外三个应用程序迁移到这个 Tomcat 实例。
我的 setenv.sh 文件是:
JAVA_OPTS="-Xms16m -Xmx256m -XX:MaxPermSize=128m -Djava.awt.headless=true"
当我执行时免费-m
total used free shared buffers cached
Mem: 512 461 51 0 60 52
-/+ buffers/cache: 348 164
Swap: 127 3 124
有时使用的内存会增加到 506 左右。
我想我得升级内存了。我考虑的是 800 Mb 还是 1 Gb。你觉得这是个好主意吗?我能看到改进吗?升级后我应该如何配置我的 seteven.sh 文件?
答案1
您需要多少内存完全取决于您的应用程序的架构以及它们的需求。添加内存几乎总是一个好主意。很难说如果您向服务器添加 2 个现在不存在的应用程序是否会看到改进,因为您没有可比较的统计数据。如果您想看到改进,请在添加其他应用程序之前添加内存。您用于 JAVA_OPTS 的参数再次取决于您的应用程序的内存要求。
答案2
这个问题有点模糊,因为它取决于你正在运行的应用程序。如果你可以将内存增加到 1GB,在有负载的情况下你应该会看到一些改进(如果没有其他事情,它会给你更多的性能回旋余地),而且考虑到目前的 RAM 价格,我认为投资额外的 512 不会有太大损失。
最后,您真正需要做的只是在加载其他应用程序时观察性能。这取决于有多少人在使用您的服务器以及应用程序的编写方式(大量 I/O?是否占用更多共享或独立内存?等等...)
如果我是你,你有机会提高记忆力,那就去尝试吧。你不会后悔的。但要回答你的问题...你必须尝试一下才能知道。