如何快速掌握针对Debian系统Tomcat内存使用的优化技巧?
- 内容介绍
- 文章标签
- 相关推荐
面对 Tomcat 内存使用过高导致 OOM 错误、GC 暂停时间突增还有程序资源被单个实例吞噬时往往让运维人员抓狂不已。
一、先给程序加上防护——resource limits & cgroups
痛点:单实例无界吃内存,导致服务器宕机。
-
systemd MemoryMax:
MemoryMax=1G # 仅允许此服务占用 1GB 内存
-
cgroups 配置:
# 创建 cgroup cgcreate -g memory,cpu:/tomcat # 设置配额 echo 100000> /sys/fs/cgroup/memory/tomcat/memory.limit_in_bytes echo 50000> /sys/fs/cgroup/cpu/tomcat/cpu.cfs_quota_us # 将 Tomcat 进程加入 cgroup cgclassify -g memory。
面对 Tomcat 内存使用过高导致 OOM 错误、GC 暂停时间突增还有程序资源被单个实例吞噬时往往让运维人员抓狂不已。
一、先给程序加上防护——resource limits & cgroups
痛点:单实例无界吃内存,导致服务器宕机。
-
systemd MemoryMax:
MemoryMax=1G # 仅允许此服务占用 1GB 内存
-
cgroups 配置:
# 创建 cgroup cgcreate -g memory,cpu:/tomcat # 设置配额 echo 100000> /sys/fs/cgroup/memory/tomcat/memory.limit_in_bytes echo 50000> /sys/fs/cgroup/cpu/tomcat/cpu.cfs_quota_us # 将 Tomcat 进程加入 cgroup cgclassify -g memory。

