网站搭建好并部署阿里云服务器上,如何用好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 是一项性价比非常高、也非常有必要的「让服务器稳定的配置」。

相关文章
|
6月前
|
负载均衡 关系型数据库 应用服务中间件
网站搭建好后采用高可用集群方案(Nginx 负载均衡 + 双机热备)实现网站稳定运行
网站建设好后,部署在云服务器上,网站的稳定运行直接关第到网站在搜索引挚排名中的表现,如果服务器中途崩溃,流量会被搜索引挚处罚, 最严重的结果就是网站流量给清零,这可不是站长们想要的结果,下面就详细说明通过负载均衡 + 双机热备方案实现网站稳定运行:
|
8月前
|
人工智能 API 机器人
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
30950 253
|
1月前
|
网络协议 Java 测试技术
网站开发性能测试-JMeter 压测 Tomcat 接口的并发吞吐量(QPS)
在企业级网站开发、Java Web 系统上线与后端架构调优实战中,**性能压力测试(Stress / Load Testing)** 是验证系统高可用性、探测吞吐量极限与排除潜在并发死锁、内存泄露(Memory Leak)的必经之路。 对于采用 Apache Tomcat 作为 Servlet 容器的企业级应用(如 Spring Boot 内嵌 Tomcat 或独立 Tomcat 9/10 集群),单台服务器在面对每秒数百乃至数万次的高频请求时,其底层线程池调度、I/O 多路复用模型(NIO/NIO2)、JVM 垃圾回收机制以及操作系统内核 TCP 队列均会承受极限考验。
|
9月前
|
人工智能 监控 算法
AI(大模型)在公安案件侦办中的应用场景
本方案以AI赋能公安“案件侦办系统”,推出5款实战产品:AI笔录分析、证据链闭环验证、语义化知识库、多模态现场复现、全流程智能督办。聚焦提效、防错、赋能、合规,实现从“填表工具”到“实战中枢”的跃升。(239字)
1756 2
|
3月前
|
运维 安全 应用服务中间件
网站搭建安全加固-禁用 Tomcat 默认管理后台与隐藏版本号
在企业级 Java Web 应用部署与 Linux 服务器运维工作中,**Tomcat 的安全加固(Security Hardening)** 是预防黑客扫描与自动化入侵的第一道关卡。 无论是运行在标准的 Ubuntu 环境,还是部署于阿里云 **Alibaba Cloud Linux 3** 实例上,出厂配置的 Apache Tomcat 通常会带有 `manager`(应用管理后台)和 `host-manager`(主机管理后台)这两个默认 Web 应用,并在 HTTP 响应头及错误页面中暴露真实的 Tomcat 内部版本信息。
|
3月前
|
NoSQL 安全 Java
佛山网站建设案例-基于 Redis Session 共享解决集群登录状态丢失
在基于 Java 或 PHP 开发的企业级网站搭建与集群架构中,**用户会话状态(Session)的无状态化与共享** 是构建弹性扩展集群的核心难题。 传统单机 Web 应用中,用户登录成功后,服务器会将用户的身份信息保存在本地 Web 容器(如 Tomcat 内置的 `StandardSession`)内存中,并通过 Cookie 返回一个 `JSESSIONID` 给客户端。
|
4月前
|
缓存 弹性计算 应用服务中间件
高端网站搭建:Nginx 反向代理与动静分离架构配置详解
在现代企业级 Web 架构中,Nginx 凭借其极低的内存消耗和超强的高并发处理能力,成为了不可或缺的流量网关。特别是在阿里云 ECS 实例搭配 Alibaba Cloud Linux 3 的环境下,Nginx 能够充分利用操作系统的网络栈优化,实现惊人的吞吐量。 本文将详细介绍如何配置 Nginx 的反向代理与动静分离,将静态资源请求与动态接口请求完美剥离,从而大幅提升网站的整体响应速度。
|
3月前
|
安全 Shell 持续交付
快速网站搭建-使用 Shell 脚本自动化部署 ThinkCMF 项目
在现代 Web 运维中,持续集成与持续部署(CI/CD)已经成为企业级网站搭建的标准配置。然而,对于许多中小型企业而言,引入复杂的 Jenkins 或 GitLab CI 可能会带来额外的服务器开销与维护成本。 相比之下,编写一个轻量、高效、针对性强的 Shell 自动化部署脚本,是实现快速网站搭建与敏捷迭代的性价比之选。 本文将结合生产环境的真实场景,为您详细拆解如何使用 Shell 脚本实现 PHP ThinkCMF 项目(以 Git 代码托管、Composer 依赖管理、Nginx 运行环境为例)的一键自动化编译、备份、部署与权限调优。
|
4月前
|
弹性计算 监控 Java
网站制作避坑指南:Tomcat 9 生产环境的 JVM 内存调优技巧
在 Java Web 应用部署中,Tomcat 是最常用的 Servlet 容器之一。然而,Tomcat 默认的 JVM 内存配置往往非常保守,根本无法满足生产环境的高并发需求。如果你使用的是阿里云 ECS 实例,并且搭载了针对云原生优化的 Alibaba Cloud Linux 3 操作系统,那么进行合理的 JVM 调优,将能最大化发挥云服务器的性能优势。 本文将结合实际生产经验,详细剖析 Tomcat 9 的 JVM 内存调优策略,带你避开常见的内存泄漏和频繁 GC(垃圾回收)陷阱。

热门文章

最新文章