网站搭建好并部署阿里云服务器上,如何用好Swap让服务器保持稳定

简介: 本机配置2核6GB内存,新增3GB Swap作为应急缓冲。Swap虽比内存慢,但能有效避免内存耗尽时OOM Killer误杀Tomcat导致全站502。正常情况下几乎不启用,高峰时自动腾挪冷数据,显著提升稳定性,是低成本高收益的关键优化。

【Tomcat 内存 / Swap 说明】

一、当前服务器配置

  • CPU:2 核
  • 物理内存(RAM):约 6GB(free -h 一般显示为 5.x GiB)
  • Swap(交换空间):3GB(新增加,用作内存应急缓冲)

二、核心概念

  1. 物理内存(RAM)

    • 速度非常快,用来跑程序、处理请求。
    • 容量有限,这台机器约 6GB。
  2. Swap(交换分区 / 交换文件)

    • 用硬盘的一块空间“假装成内存”来应急。
    • 比内存慢 10~100 倍,只适合作为 安全垫,不是用来提速的。

三、没有 Swap 时的风险

  1. 正常负载时

    • Tomcat 大约占 3~4GB;
    • 操作系统和其他进程再占一部分;
    • 还剩几百 MB~1GB 空闲,系统看起来是稳定的。
  2. 高峰 / 异常场景

    • 例如:后台发布大量内容 + 触发静态导出 + 搜索引擎爬虫同时抓取;
    • JVM 会临时多吃几百 MB~1GB 内存;
    • 再加上系统本身开销,很容易把 6GB 物理内存吃满。
  3. 没有 Swap 会发生什么?

    • 内存一满,Linux 会启动 OOM Killer(Out Of Memory Killer)
      • 扫描进程,挑“最占内存”的进程强制 kill -9
      • 在这台机子上,几乎一定是 Java / Tomcat 被杀。
    • 结果:
      • Tomcat 瞬间消失;
      • Nginx 反向代理 全部变成 502;
      • 网站长时间不可用,搜索引擎抓取大量 5xx,容易被降权。
  4. 难以排查的点

    • OOM Kill 往往不会在应用日志里留明显记录;
    • 肉眼看到的现象就是“突然 502,必须手动重启 Tomcat 才恢复”。

四、加上 3GB Swap 之后的变化

  1. 整体「可用空间」变成了:

    • 约 6GB 物理内存(RAM) + 3GB Swap;
    • 理论上有约 9GB 的总可用空间(其中 3GB 是“慢一点的应急缓冲”)。
  2. 当物理内存接近打满时:

    • 系统会把“暂时不用的冷数据”搬到 Swap 上;
    • 为当前活跃的线程、JVM 堆等腾出物理内存;
    • 大幅降低触发 OOM Killer 的概率,Tomcat 不会那么容易被系统一刀切掉。
  3. free -h 大致能看到类似情况:

    • Mem: total ~5.xGi used ~4.xGi available ~0.5–1Gi
    • Swap: total 3.0Gi used 很少(几十 MB 以内)
    • 说明 Swap 只是站在一边“待命”,平时几乎不参与,只有在高峰时刻才会真正帮你顶一顶。

五、Swap 会不会拖慢网站?

  1. 正常情况下:基本不会。

    • 热点数据都在物理内存里;
    • Swap 几乎不被访问,对响应速度几乎没有影响。
  2. 极端高负载时:

    • 很久没访问的冷数据可能被放到 Swap;
    • 再访问这些数据时会比纯内存略慢一些;
    • 但和「Tomcat 被杀掉导致整站 502、无法访问」相比,这点性能代价是可以接受的。

六、小结(可直接贴到论坛)

  • 没有 Swap 的情况
    内存一满 → 内核触发 OOM Killer → 直接杀掉 Tomcat → 网站长时间 502 / 5xx,搜索引擎抓取大量失败,请求被拒绝,容易被降权。

  • 加上 3GB Swap 之后
    在原有约 6GB 内存基础上,多了 3GB 的“保险缓冲” → 高峰时可以先把冷数据挪到 Swap → 给 JVM 和系统多一点喘息空间 → 大幅降低 OOM Kill 风险,整体稳定性明显提升。

在现有硬件配置(2 核 + 约 6GB 内存)的前提下,增加 3GB Swap 是一项性价比非常高、也非常有必要的「让服务器稳定的配置」。

相关文章
|
15天前
|
缓存 NoSQL 应用服务中间件
Redis 实现网站加速:在 Alibaba Cloud Linux 3 + Tomcat 9 架构下的缓存实战
Tomcat 9 的安装与配置流程——在 **Alibaba Cloud Linux 3**(即阿里云官方维护的企业级 Linux 发行版,基于 OpenAnolis 内核,与 CentOS 7/8 生态高度兼容)上,从下载压缩包、解压到 `/opt/tomcat9`,到配置 `systemd` 服务、编写 `setenv.sh` 优化 JVM 参数(`-Xms512m -Xmx1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200`),最终让 Tomcat 在 8080 端口稳定对外提供服务。
|
24天前
|
负载均衡 关系型数据库 应用服务中间件
网站搭建好后采用高可用集群方案(Nginx 负载均衡 + 双机热备)实现网站稳定运行
网站建设好后,部署在云服务器上,网站的稳定运行直接关第到网站在搜索引挚排名中的表现,如果服务器中途崩溃,流量会被搜索引挚处罚, 最严重的结果就是网站流量给清零,这可不是站长们想要的结果,下面就详细说明通过负载均衡 + 双机热备方案实现网站稳定运行:
|
3月前
|
人工智能 监控 算法
AI(大模型)在公安案件侦办中的应用场景
本方案以AI赋能公安“案件侦办系统”,推出5款实战产品:AI笔录分析、证据链闭环验证、语义化知识库、多模态现场复现、全流程智能督办。聚焦提效、防错、赋能、合规,实现从“填表工具”到“实战中枢”的跃升。(239字)
833 2
|
弹性计算 大数据 测试技术
2024阿里云服务器价格:2核2G3M仅需99元1年,2核4G5M 199元
2024阿里云服务器价格:2核2G3M仅需99元1年,2核4G5M 199元
728 1
|
2月前
|
人工智能 API 机器人
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
28057 224
|
3月前
|
数据采集 人工智能 自然语言处理
AI成熟度不够,别说你在搞智能
90%的AI项目都失败了?问题不在技术,在于你的组织根本没准备好!MITRE推出的AI成熟度模型告诉你,为什么有些公司AI用得风生水起,有些却血本无归。从门外汉到AI大神,六大支柱、五个等级,让你的AI转型不再踩坑! #人工智能 #数字化转型 #企业管理 #技术战略
259 3
|
3月前
|
人工智能 IDE 机器人
阿里云百炼优惠券:满20减10元+返券50元+免费领取7000万Tokens,2026阿里云AI大模型权益
阿里云百炼推出2026开年大促:新客享满20减10元券、按量消费达标最高返50元、免费领7000万Tokens+100图+50秒视频!低成本体验Qwen3、万相2.6等前沿模型,覆盖智能体搭建、RAG知识库、AI图文视频创作等场景。
1214 1
|
9天前
|
缓存 应用服务中间件 nginx
网站实现 CDN加速——从 Tomcat 9 到全站提速的完整实践
初次接解cdn的读者可能要问cdn服务是什么意思啊?读完这篇文章,您将明白cdn是什么意思,cdn服务在你脑海里不再是个抽象的概念,将会变成可在cdn加速服务器上可执行的步骤。 ## 一、为什么要做 CDN 加速 网站上线之后,随着访问量的增长,单一服务器直出的方案往往会暴露出明显瓶颈:北方用户访问南方机房延迟高、图片加载慢、首屏白屏时间长。即便在服务端已经做了 Tomcat 9 的 JVM 调优(`-Xms512m -Xmx1024m -XX:+UseG1GC`),也无法从根本上改善跨地域访问的物理延迟问题。
|
1月前
|
存储 弹性计算 Kubernetes
Alibaba Cloud Linux 4 LTS 64位容器优化版和普通版本区别?
Alibaba Cloud Linux 4 LTS 64位容器优化版是专为Kubernetes等容器场景深度优化的免费镜像,默认启用cgroup v2,启动快50%,预装containerd并集成生产级内核调优,开箱即用,推荐ACK环境部署。(239字)