Ubuntu的SWAP设置

本文详细介绍在Ubuntu中配置和使用Swap分区的方法,包括通过新创建的Swap分区和使用文件作为Swap的步骤,同时讲解了如何调整Swap使用策略及关闭Swap。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在Ubuntu中配置使用新创建的Swap分区

Command list:

查找Swap分区的UUID

sudo blkid

在/ect/fstab中加入新的Swap分区

sudo gedit /etc/fstab

在最后加入下列内容,xxxx为Swap分区的UUID

UUID=xxxx none swap sw 0 0

激活Swap分区,Swap分区为/dev/sda3

sudo swapon /dev/sda3

2. 在Ubuntu中使用file当swap

Command list:

创建1个1GB的file

sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1M count=1024

格式化为Swap file

sudo mkswap /mnt/1GB.swap

把swap file加入到系统中

sudo swapon /mnt/1GB.swap

上面的操作只是临时添加1个swap file,如果要做永久添加,则需要下列步骤。

在/ect/fstab中加入新的Swap分区

sudo gedit /etc/fstab

在最后加入下列内容

/mnt/1GB.swap none swap sw 0 0

3. Ubuntu的swap使用策略

Command list:

查看memory/buffer/Swap使用情况。

free

查看swap使用策略,Swap和memory各占百分百

默认是60,即Swap占60%,memory占40%

cat /proc/sys/vm/swappiness

修改swap使用策略

仅本次开机有效,重启后恢复原值

sudo sysctl vm.swappiness=20

修改swap使用策略,系统默认值

需要重启系统后,才能生效

sudo gedit /etc/sysctl.conf

在最后添加下列内容:

# Set Swap usable availability

# Swap <-------> physical memory

# default: 60% 40%

vm.swappiness=20

4. 关闭swap

sudo swapoff -a

转载于:https://www.cnblogs.com/jonky/p/10154456.html

<think>好的,我现在需要回答用户关于Ubuntu系统中swap分区最佳设置大小的问题。首先,我需要回忆和整理相关的知识,并参考用户提供的引用资料。 用户提到了几个引用,其中引用[5]提到交换空间是虚拟内存的一部分,可以是分区或文件,推荐使用交换分区。其他引用如[1]、[2]、[3]、[4]主要涉及如何检查和创建swap文件或分区,以及调整大小的方法。用户的问题集中在“最佳实践”上,所以需要结合这些信息,给出合理的建议。 首先,我应该回顾常见的swap大小设置建议。通常,swap的大小取决于系统的物理内存和用途。例如,对于传统机械硬盘时代,常见的建议是swap为RAM的1.5到2倍。但随着现代硬件的发展,尤其是使用SSD和更大内存的情况,这个建议可能有所变化。 接下来,我需要参考官方文档或广泛认可的最佳实践。例如,Ubuntu官方可能有推荐值。根据我的记忆,Ubuntu在安装时对于swap分区的默认设置可能根据内存大小而不同,比如当内存超过一定量时,可能不再需要较大的swap空间。 然后,考虑不同使用场景。比如,服务器和桌面环境可能有不同的需求。服务器可能需要更多的swap以应对高负载,而桌面用户可能更关注休眠(hibernation)功能,这需要swap至少等于物理内存大小。 此外,引用[5]提到交换空间可以是分区或文件,而推荐使用交换分区。同时,内存不足时,系统会将不活跃的页面移到swap,但访问速度较慢。因此,swap的大小设置需要平衡内存使用和磁盘空间占用。 现在需要整理这些信息,分点说明最佳实践,并引用相关资料支持。例如,当物理内存小于2GB时,swap设为2倍;2-8GB时设为等于内存;8GB以上时根据用途调整。同时,如果需要休眠,swap需等于或略大于内存。 还需要注意,对于服务器应用,可能有不同的建议,比如根据工作负载调整。另外,创建swap文件的方法在引用[2]、[3]、[4]中都有涉及,比如使用fallocate或dd命令,并设置正确的权限和启用步骤。 最后,要确保回答结构清晰,分步骤或分情况讨论,并引用提供的资料中的信息,如引用[5]关于交换空间的说明,其他引用中的命令示例等。同时,生成相关问题,帮助用户深入理解。</think>### Ubuntu系统中Swap分区最佳设置实践 在Ubuntu系统中,Swap分区的设置大小需综合考虑物理内存容量、系统用途(如是否启用休眠)以及硬件类型(如SSD或机械硬盘)。以下是基于常见实践和官方建议的配置方案: --- #### **1. 基础设置原则** - **物理内存 ≤ 2GB**: 建议Swap大小为物理内存的**2倍**,例如2GB内存对应4GB Swap。此配置适用于旧硬件或内存严重不足的场景[^5]。 - **物理内存 2GB–8GB**: Swap大小建议与物理内存**相等**。例如4GB内存对应4GB Swap,适用于普通桌面或轻量级服务器。 - **物理内存 ≥ 8GB**: 根据用途调整: - **桌面环境**:Swap设为物理内存的**0.5–1倍**(例如16GB内存对应8–16GB Swap)。 - **服务器环境**:若无需休眠,Swap可设为**0.5倍内存**;若内存极大(如64GB+),Swap可降低至**4GB–8GB**。 - **启用休眠(Hibernation)**:Swap需至少等于物理内存容量(例如16GB内存需要16GB Swap)。 --- #### **2. 特殊场景优化** - **SSD存储**: 频繁写入Swap可能缩短SSD寿命,建议适当减少Swap大小,并优先通过升级物理内存缓解压力。 - **高负载服务器**: 若运行内存密集型服务(如数据库),Swap可设为物理内存的**1–1.5倍**,防止进程因内存不足被强制终止。 - **容器化/虚拟化环境**: 若需运行多个虚拟机或容器,Swap建议为物理内存的**0.5–1倍**,提供弹性缓冲[^5]。 --- #### **3. 配置方法示例** 通过Swap文件动态调整(参考引用[2][3][4]): ```bash # 创建8GB Swap文件(路径可自定义) sudo fallocate -l 8G /swapfile # 或使用dd命令(兼容性更好) sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 # 设置权限并启用 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 永久生效(编辑/etc/fstab) echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab ``` --- #### **4. 验证与监控** - **检查Swap状态**: ```bash free -h # 查看内存和Swap使用情况 swapon --show # 显示当前激活的Swap设备[^1] ``` - **调整Swappiness**: 修改`/etc/sysctl.conf`中的`vm.swappiness`(默认60),降低该值可减少Swap使用频率(如设为10–30)[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值