内存交换空间--Swap Space

转载请注明出处:

一、概述

内存交换空间(Swap Space)是计算机内存的一种补充,位于硬盘驱动器上。当物理内存(RAM)不足时,系统会将不活跃的页面(或称为内存页)移到交换空间中,以释放物理内存给更需要的进程。这种方式虽然比直接从物理内存中读取数据要慢,但能有效避免系统因内存不足而崩溃。

二、配置

1. 配置原则
  • 交换空间的总大小一般推荐为物理内存的两倍和32MB中的较大者,但不超过2GB(不同来源可能有不同建议,具体根据实际需求和环境调整)。
  • 专用交换分区是推荐的方法,因为它性能更优且管理方便。
2. 配置方法(以Linux为例)

创建交换文件

  1. 关闭现有的交换空间(如果已存在)。
  2. 使用dd命令创建交换文件。例如,创建一个10GB的交换文件:
复制代码
sudo dd if=/dev/zero of=/swapfile bs=1G count=10

3. 设置交换文件的权限,仅允许root用户读写:

复制代码
sudo chmod 600 /swapfile

4. 将文件设置为交换空间:

复制代码
sudo mkswap /swapfile

5. 激活交换空间:

复制代码
sudo swapon /swapfile

配置交换分区

  1. 分区:使用fdiskparted等工具在磁盘上分出一个分区用于交换。
  2. 格式化:使用mkswap命令格式化该分区为交换分区。
  3. 激活:使用swapon命令激活交换分区。

三、查看

在Linux中,可以使用多种命令查看交换空间的使用情况:

  1. free命令:显示系统的内存使用情况,包括物理内存、交换空间等。
复制代码
free -m

-m选项表示以MB为单位显示。

2. swapon命令:查看当前正在使用的交换文件或交换分区。

复制代码
swapon --show

3. cat /proc/swaps命令:查看当前正在使用的交换空间及其相关信息。

复制代码
cat /proc/swaps

4. top或htop命令:这些交互式系统监视工具可以在终端中实时显示系统资源使用情况,包括交换空间。

四、作用

  1. 内存扩展:当物理内存不足时,交换空间提供额外的存储空间,确保系统可以继续运行。
  2. 性能优化:通过将不常用的内存页移动到交换空间,可以为当前需要执行的程序腾出物理内存空间,从而提高系统性能。
  3. 系统稳定性:防止因内存不足而导致的系统崩溃或性能下降。

五、示例

1. 创建交换文件:

复制代码
sudo dd if=/dev/zero of=/swapfile bs=1G count=8  # 创建一个8GB的交换文件  
sudo chmod 600 /swapfile  
sudo mkswap /swapfile  
sudo swapon /swapfile

2. 验证配置:

使用free -m命令查看内存和交换空间的使用情况,确认交换空间已正确配置并激活。

通过以上步骤,Linux系统成功配置了交换空间,提高了系统的稳定性和性能。

相关推荐
somi73 分钟前
Linux系统编程-数据库-SQLite3
linux·数据库·sqlite
路溪非溪4 分钟前
wpa_supplicant核心操作总结
linux·网络·arm开发·驱动开发
历程里程碑8 分钟前
Linux 46 HTTPS(协议原理)安全通信全流程解析
linux·网络·c++·网络协议·http·https·排序算法
FreeBuf_8 分钟前
利用eBPF与io_uring高级技术的Linux Rootkit演进
linux·运维·服务器
hy____1238 分钟前
Linux_多线程
linux·服务器
fygfh.9 分钟前
Linux开发中进程与线程的创建与生命周期
java·linux·服务器
IT从业者张某某16 分钟前
给Ubuntu用户添加Docker权限(永久生效,无需sudo)
linux·ubuntu·docker
Yupureki16 分钟前
《C++实战项目-高并发内存池》2.ObjectPool构造
linux·服务器·c语言·开发语言·jvm·c++
xiao5kou4chang6kai418 分钟前
【人工智能与大气科学】如何结合最新AI模型与Python技术处理和分析气候数据
linux·人工智能·大气科学·气候·wrf
xiaoliuliu1234522 分钟前
CentOS 7 安装 gcc-c++-4.8.5-44.el7.x86_64.rpm 详细步骤(含依赖解决)
linux·c++·centos