内存交换空间--Swap Space
转载请注明出处:
一、概述
内存交换空间(Swap Space)是计算机内存的一种补充,位于硬盘驱动器上。当物理内存(RAM)不足时,系统会将不活跃的页面(或称为内存页)移到交换空间中,以释放物理内存给更需要的进程。这种方式虽然比直接从物理内存中读取数据要慢,但能有效避免系统因内存不足而崩溃。
二、配置
1. 配置原则
- 交换空间的总大小一般推荐为物理内存的两倍和32MB中的较大者,但不超过2GB(不同来源可能有不同建议,具体根据实际需求和环境调整)。
- 专用交换分区是推荐的方法,因为它性能更优且管理方便。
2. 配置方法(以Linux为例)
创建交换文件
- 关闭现有的交换空间(如果已存在)。
- 使用
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
配置交换分区
- 分区:使用
fdisk或parted等工具在磁盘上分出一个分区用于交换。 - 格式化:使用
mkswap命令格式化该分区为交换分区。 - 激活:使用
swapon命令激活交换分区。
三、查看
在Linux中,可以使用多种命令查看交换空间的使用情况:
free命令:显示系统的内存使用情况,包括物理内存、交换空间等。
free -m
-m选项表示以MB为单位显示。

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

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

4. top或htop命令:这些交互式系统监视工具可以在终端中实时显示系统资源使用情况,包括交换空间。
四、作用
- 内存扩展:当物理内存不足时,交换空间提供额外的存储空间,确保系统可以继续运行。
- 性能优化:通过将不常用的内存页移动到交换空间,可以为当前需要执行的程序腾出物理内存空间,从而提高系统性能。
- 系统稳定性:防止因内存不足而导致的系统崩溃或性能下降。
五、示例
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系统成功配置了交换空间,提高了系统的稳定性和性能。
内存交换空间--Swap Space的更多相关文章
- iOS中的交换空间(swap space)
看来是没有交换空间,原因是闪存和SSD硬盘相比,速度很慢,也有电源管理的原因. the NAND flash is not designed to be used as swap. It is dam ...
- Linux命令 swap:内存交换空间
swap 内存交换空间的概念 swap使用上的限制
- Linux学习之CentOS(十六)-----内存置换空间(swap)之建置(转)
内存置换空间(swap)之建置 安装时一定需要的两个 partition 啰! 一个是根目录,另外一个就是 swap(内存置换空间), swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记 ...
- 如何增加Ubuntu交换空间swap
如何增加Ubuntu交换空间swap 1 使用命令查看系统内swap分区大小 green@green:~$ free -m total used free shared buff/cache ava ...
- 攻城狮在路上(叁)Linux(二十五)--- linux内存交换空间(swap)的构建
swap的功能是应付物理内存不足的状况,用硬盘来暂时放置内存中的信息. 对于一般主机,物理内存都差不多够用,所以也就不会用到swap,但是对于服务器而言,当遇到大量网络请求时或许就会用到. 当swap ...
- 如何在Linux上使用文件作为内存交换区(Swap Area)
交换区域(Swap Area)有什么作用? 交换分区是操作系统在内存不足(或内存较低)时的一种补充.通俗的说,如果说内存是汽油,内存条就相当于油箱,交换区域则相当于备用油箱. Ubuntu Linux ...
- 安装Ubuntu时,遇到自定义交换空间swap大小设置问题
【整理】Ubuntu自定义分区设置 在安装Ubuntu时,如果使用的是一个新硬盘那么安装向导会建议你使用整个硬盘,如果硬盘上已经有数据了,向导会建议使用剩余的空间。不管怎样,是由向导自动划分的分区。 ...
- 内存交换空间(swap)的构建
一.使用物理分区构建swap 1.先进行分区的行为. [root@iZ255cppmtxZ ~]# fdisk /dev/xvdb Welcome to fdisk (util-linux ). Ch ...
- Linux 磁盘管理篇, 内存交换空间
swap是在系统内存不足的情况下,以硬盘暂时来储存内存中的一些数据来继续程序的执行 查看内存使用情况 free 格式化为swap格式 mkswap 启动sw ...
- Linux交换空间和内存不足
交换空间 交换技术就是将一页内存复制到预先设定的硬盘上的交换空间,来释放该页占用内存.物理内存和交换空间的和就是可提供的虚拟内存的总量.Linux有两种形式的交换方式,分别是交换分区,交换文件. 优点 ...
随机推荐
- json字符串忽略null,忽略字段,首字母大写等gson,jackson,fastJson实现demo,T data JSON.parseObject json转换
json字符串忽略null,忽略字段,首字母大写等gson,jackson,fastJson实现demo package com.example.core.mydemo.json.vo; import ...
- Spring Cloud微服务核心架构分析
Spring Cloud是一个相对比较成熟的微服务框架.虽然,Spring Cloud于2016年才推出1.0的release版本, 时间最短, 但是相比Dubbo等RPC框架, Spring Clo ...
- Xcode调试内存最新理解
前提: Xcode 16.0 beta 设置 Scheme设置中勾选Malloc Scribble.Malloc Stack Logging. 这么做是为了在Memory Graph.Profile中 ...
- Xilinx SDK 开发Linux APP
Xilinx SDK 开发Linux APP 步骤 配置环境变量 将工具链需要的程序的所在目录添加到 系统环境变量中,例如: D:\Xilinx_201803\SDK\2018.3\gnu\micro ...
- sql-labs通关笔记(上)
sql-labs通关笔记(上) 这里我们先只讲解less-1到less-9 联合查询注入 Less-1:GET -Error based.Single quotes -string 界面 在url中加 ...
- P3749 题解
既然是求最大值而且有收益有代价,所以考虑建立一个最大权封闭子图模型. 收益 正的美味值是收益,所以假若 \(d_{i,j} \geq 0\) 则建边 \((s,pos_{i,j},d_{i,j})\) ...
- win10 VMware 关闭虚拟机失败导致再打开时显示连接不上虚拟机的一种解决方法
VMware关闭虚拟机失败,强行关闭后,再次打开VMware,打开虚拟机时提示连接不上虚拟机,没有访问权限. 先试了退出后,用管理员权限打开,无果. 然后从网上查资料,cmd->services ...
- Golang channel底层是如何实现的?(深度好文)
Hi 你好,我是k哥.大厂搬砖6年的后端程序员. 我们知道,Go语言为了方便使用者,提供了简单.安全的协程数据同步和通信机制,channel.那我们知道channel底层是如何实现的吗?今天k哥就来聊 ...
- 常用 Java 组件和框架分类
WEB 容器 Tomcat https://tomcat.apache.org/ Jetty https://www.jetty.com/ JBoss https://www.jboss.org/ R ...
- 文件系统(九):一文看懂yaffs2文件系统原理
liwen01 2024.07.07 前言 yaffs 是专为nand flash 设计的一款文件系统,与jffs 类似,都是属于日志结构文件系统.与jffs 不同的是,yaffs 文件系统利用了na ...