当前位置: 首页 > article >正文

什么是SWAP虚拟内存?使用服务器如何开启SWAP虚拟内存

一、SWAP 虚拟内存是什么?

定义
SWAP(交换分区)是磁盘上的一块空间,用于在物理内存(RAM)不足时,将部分不活跃的内存数据临时存储到磁盘中,避免系统因内存耗尽而崩溃。

核心作用

  1. 扩展可用内存:防止应用程序因内存不足(OOM)被强制终止12
  2. 提升系统稳定性:缓解突发高负载下的内存压力,降低宕机风险34
  3. 优化资源利用:允许系统将长期未使用的内存页移至 SWAP,释放物理内存供急需进程使用56

适用场景

  • 物理内存较小(如 1-2GB 的轻量级服务器)。
  • 运行内存密集型应用(如数据库、Java 服务)。

**二、莱卡云服务器开启 SWAP 的步骤

1. 创建 SWAP 文件

bashCopy Code

# 分配 1GB 的 SWAP 文件(根据需求调整大小) 

sudo fallocate -l 1G /swapfile 

# 若 fallocate 不可用,改用 dd 命令 

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 

# 设置权限 

sudo chmod 600 /swapfile 

2. 格式化为 SWAP 分区

bashCopy Code

sudo mkswap /swapfile 

3. 激活 SWAP

bashCopy Code

sudo swapon /swapfile 

4. 永久生效配置

bashCopy Code

# 编辑 /etc/fstab 

sudo nano /etc/fstab 

# 添加以下行 

/swapfile none swap sw 0 0 

5. 验证 SWAP 状态

bashCopy Code

free -h 

# 输出示例: 

#               total   used    free 

# Swap:         1.0G    0B      1.0G 


三、SWAP 配置优化建议

参数

推荐值

说明

SWAP 大小

1-2 倍物理内存(≤8GB)

内存≤4GB 时建议 2 倍;内存≥8GB 时 1 倍35

swappiness

10-30(默认 60)

控制内存换出频率,值越低越少使用 SWAP46

调整 swappiness

bashCopy Code

# 临时生效 

sudo sysctl vm.swappiness=10 

# 永久生效 

sudo nano /etc/sysctl.conf 

# 添加或修改: 

vm.swappiness=10 


四、注意事项

  1. 性能影响
    • SWAP 依赖磁盘 I/O,频繁读写可能降低性能(尤其是 HDD 磁盘)56
    • 莱卡云服务器建议搭配 SSD 云盘使用,减少延迟6
  2. 监控与维护
    • 使用 htop 或 vmstat 1 监控 SWAP 使用率。
    • 内存长期不足时,优先考虑升级莱卡云实例内存配置。
  3. 禁用 SWAP

bashCopy Code

sudo swapoff /swapfile 

sudo rm -f /swapfile 

# 删除 /etc/fstab 中相关行 


通过上述操作,您可以在莱卡云服务器上快速启用 SWAP 虚拟内存,平衡内存资源与成本,确保服务稳定运行。建议根据实际负载动态调整 SWAP 大小及 swappiness 参数
 


http://www.kler.cn/a/584262.html

相关文章:

  • vue启动 localhost无法访问
  • 【Android】‘adb shell input text‘ 模拟器输入文本工具使用教程
  • OpenCV(应用) —— 凸包检测的实战应用
  • petalinux环境下给linux-xlnx源码打补丁
  • 计算机视觉|具身智能技术详解:视觉-动作联合建模的原理与实践
  • Linux动态监控系统
  • 公路工程减碳对策匹配知识图谱问答系统
  • SvelteKit 最新中文文档教程(2)—— 路由
  • 文本转语音-音画适时推送rtsp并播放
  • 基金交易系统的流程
  • Windows软件插件-视频渲染器
  • 硬件驱动——51单片机、LED、动态数码管
  • 概率论的基本知识
  • Java版本切换~Linux
  • K8S学习之基础二十八:k8s中的configMap
  • Java 大视界 -- Java 大数据在智慧文旅虚拟导游与个性化推荐中的应用(130)
  • 软考数据结构四重奏:软件工程师的线性、树、图、矩阵算法精要
  • 本地部署DeepSeek-R1模型详细流程
  • 【数据结构】2算法及分析
  • Oracle 查询数据库对象的DDL语句