### Linux 修改 Swap 大小详解 #### 一、Swap 分区概述 在 Linux 系统中,Swap 分区(或文件)充当一种辅助内存的角色。当系统的物理内存不足时,Linux 会将一部分暂时不用的数据从内存中移出并保存到 Swap 分区,从而释放出更多的物理内存供当前进程使用。这一机制对于提高系统的稳定性和响应速度非常重要。 #### 二、检查当前 Swap 使用情况 在进行任何修改之前,首先需要了解当前系统的 Swap 使用情况。可以通过 `free -m` 命令来查看系统中的 Swap 总量、已用和空闲情况: ``` [root@emausr]# free -m total used free shared buffers cached Mem: 2026 1929 97 0 27 1780 -/+buffers/cache: 780 524 359 Swap: 100 100 0 ``` 从上述输出可以看到,系统目前拥有 100MB 的 Swap 空间,并且已经被完全占用。显然,这对于一个拥有 2GB 物理内存的系统来说是远远不够的。 #### 三、创建新的 Swap 文件 接下来我们将创建一个新的更大的 Swap 文件。这里假设我们需要创建一个 4GB 大小的 Swap 文件。 1. **创建文件夹**:首先创建一个用于存放 Swap 文件的文件夹。 ``` mkdir swap cd swap ``` 2. **使用 dd 命令创建 Swap 文件**:使用 `dd` 命令来创建指定大小的 Swap 文件。例如,创建一个 4GB 的文件: ``` dd if=/dev/zero of=swapfile bs=1G count=4 ``` 这里的 `if=/dev/zero` 表示从 `/dev/zero` 设备读取数据,`of=swapfile` 指定输出文件名,`bs=1G` 表示每次写入 1GB 数据,`count=4` 表示写入 4 次。 3. **格式化 Swap 文件**:使用 `mkswap` 命令对 Swap 文件进行格式化: ``` mkswap swapfile ``` 4. **启用 Swap 文件**:使用 `swapon` 命令激活新创建的 Swap 文件: ``` swapon swapfile ``` 5. **检查 Swap 文件状态**:再次使用 `free -m` 命令查看 Swap 状态,确认新 Swap 文件是否已被正确激活。 ``` [root@emausr]# free -m total used free shared buffers cached Mem: 2026 1929 97 0 27 1755 -/+buffers/cache: 1661 1860 Swap: 4008 4008 0 ``` 可以看到,Swap 总量已经增加到了 4008MB。 #### 四、设置 Swap 文件自动加载 为了确保每次系统启动时都能自动加载新创建的 Swap 文件,需要将其添加到 `/etc/fstab` 文件中: 1. **编辑 fstab 文件**: ``` vi /etc/fstab ``` 2. **添加 Swap 文件条目**:在文件末尾添加以下行: ``` /usr/swap/swapfile swap swap defaults 0 0 ``` 这里 `/usr/swap/swapfile` 是 Swap 文件的路径,`swap` 表示文件类型,`defaults` 是挂载选项,`0 0` 是用于 fsck 的参数。 3. **保存并退出**:按 `Esc` 键,然后输入 `:wq` 保存并退出编辑器。 #### 五、总结 通过上述步骤,我们成功地在一个现有的 Linux 系统上增加了 Swap 大小。这种做法不仅适用于解决因物理内存不足而引起的问题,还可以提高系统的稳定性和响应速度。需要注意的是,在实际操作过程中,根据系统的具体需求调整 Swap 的大小是非常重要的。通常建议 Swap 大小至少是物理内存的两倍,但在某些情况下,可以根据实际情况适当增减。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Java和MySQL的学生信息管理系统.zip
- (源码)基于ASP.NET Core的零售供应链管理系统.zip
- (源码)基于PythonSpleeter的戏曲音频处理系统.zip
- (源码)基于Spring Boot的监控与日志管理系统.zip
- (源码)基于C++的Unix V6++二级文件系统.zip
- (源码)基于Spring Boot和JPA的皮皮虾图片收集系统.zip
- (源码)基于Arduino和Python的实时歌曲信息液晶显示屏展示系统.zip
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage