Tomcat 的内存配置主要涉及以下几个参数:
1. Xms (初始堆大小): 指定 Java 虚拟机初始分配的堆内存大小,默认值是 512MB。
2. Xmx (最大堆大小): 指定 Java 虚拟机可使用的最大堆内存大小,默认值是 512MB。 通常建议将 Xmx 设置为物理内存的 50% 左右。
3. PermSize (永久代初始大小): 指定永久代(方法区)初始分配的内存大小,默认值是 64MB。
4. MaxPermSize (永久代最大大小): 指定永久代(方法区)的最大内存大小,默认值是 128MB。
5. NewSize (新生代初始大小): 指定新生代初始大小。
6. MaxNewSize (新生代最大大小): 指定新生代的最大内存大小。
通常情况下,可以在 Tomcat 的 `bin/catalina.sh` (Linux/Unix) 或 `bin\catalina.bat` (Windows) 文件中添加以下配置:
```
JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
```
这里设置了:
- 初始堆大小为 512MB
- 最大堆大小为 1GB
- 永久代初始大小为 256MB
- 永久代最大大小为 512MB
根据实际情况,可以根据应用程序的内存需求和服务器的物理内存大小调整这些参数。一般来说,应该给应用程序分配尽可能多的内存,但不能超过服务器的物理内存大小,否则可能会导致频繁的垃圾回收和性能下降。