雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 229|回复: 0

[学习/资料] 【SPOTO思博网络】【网工入门干货】运维基础—Linux交换分区

[复制链接]
发表于 2022-6-17 15:55:20 | 显示全部楼层 |阅读模式
啥是交换分区?

Linux交换分区即是Linux的swap分区,swap就是Linux下的虚拟内存分区。


我们知道 swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者以它们的组合方式出现。


简单点说,当系统物理内存吃紧时,Linux 系统会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为其他进程服务,而当系统需要访问 swap 上存储的内容时,系统会再将 swap 上的数据加载到内存中,这就是我们常说的 swap out 和 swap in 了。



交换分区的作用

swap 空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。


那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap空间中,等到那些程序要运行时,再从swap中恢复保存的数据到内存中。


这样,系统总是在物理内存不够时,才进行swap交换。


需要说明一点,并不是所有从物理内存中交换出来的数据都会被放到swap中(如果这样的话,swap就会不堪重负),有相当一部分数据被直接交换到文件系统。


例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到 swap空间中了,而可以直接将其放到文件里去。


如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;


如果是写文件,只需要将变化的数据保存到文件中,以便恢复。


但是那些用malloc和new函数生成的对象的数据则不同,它们需要swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。


这类数据还包括堆栈中的一些状态和变量数据等。所以说,swap空间是“匿名”数据的交换空间。


一般情况下,交换分区的大小应当相当于计算机内存的两倍,但不能超过2048MB(2GB)。

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml23368/wps1.jpg

建立方法

用户可以在任何 Linux 操作系统的安装过程中或者是其它必要的时候创建交换空间。


如果你在安装 Linux 的时候忘记了创建或是你想要再增加交换分区的空间,你随时都可以再创建或增加。在装完 Linux 系统之后,建立swap分区有两种方法。


1. 新建磁盘分区作为 swap 分区
2. 用文件作为 swap 分区


下面介绍下这两种方法(都必须用 root 权限,操作过程应该小心谨慎。)


01 建磁盘分区作为 swap 分区


1.以root身份进入控制台(登录系统),输入# swapoff -a #停止所有的swap分区


2. 用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)


使用fdisk创建交换分区命令:

fdisk /dev/sda # 创建分区
n # 新建分区
(e # 创建扩展分区)
(p # 创建主分区)
(t # 改变分区类型)
p # 查看分区
w # 将信息写入磁盘)


3. # mkswap /dev/sdb2 #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名


4. # swapon /dev/sdb2 #启动新的swap分区


5. 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行


/dev/sdb2 swap swap defaults 0 0


02 用文件作为 swap 分区


1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。

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


2.格式化为交换分区文件:

# mkswap /root/swapfile #建立swap的文件系统


3.启用交换分区文件:

# swapon /root/swapfile #启用swap文件


4.使系统开机时自启用,在文件/etc/fstab中添加一行:

/root/swapfile swap swap defaults 0 0


文章来源:本篇文章综合网络,因觉优质,特此分享,侵删。



每天通过一位IE,每两位IE,一位在思博
群里有一群一起备考的战友哦
回贴可领取实验手册噢
游客,如果您要查看本帖隐藏内容请回复


进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓
群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信(spotoa),邀你进群




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-5-2 13:03 , Processed in 0.075314 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表