目录
一、交换分区SWAP的定义
计算机运行一个程序首先会将外存(硬盘)中的数据读取到内存中,而 CPU 则从内存中读取数据并根据指令运行相应的程序。其中读写速度(速度不匹配):CPU > 内存 > 硬盘。我们通过引入 swap 交换分区可以缓解 内存与外存之间的读取数据的速度问题。swap 交换分区的物理实体是通过占用一部分外存的存储空间实现的。通过 swap 交换分区技术实现内存从外存的读取速度接近于内存的读取速度(远高于外存)。我们可以将 swap 交换分区理解为缓冲的桥梁,从而缓解了速度不匹配的矛盾。当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。
现在的服务器一般都不太缺内存,如果系统默认还是使用了 swap 是否会拖累系统的性能?理论上是的,swap启用后,在使用磁盘空间和内存交换数据时,性能表现会较差,会减慢程序执行的速度。但实际上可能性并不是很大,内核提供了一个叫做 swappiness 的参数,用于配置需要将内存中不常用的数据移到 swap 中去的紧迫程度。这个参数的取值范围是 0~100,0 告诉内核尽可能的不要将内存数据移到 swap 中,也即只有在迫不得已的情况下才这么做,而 100 告诉内核只要有可能,尽量的将内存中不常访问的数据移到 swap 中。在 ubuntu 系统中,swappiness 的默认值是 60。如果我们觉着内存充足,可以在 /etc/sysctl.conf 文件中设置 swappiness,如果系统的内存不足,则需要根据物理内存的大小来设置交换空间的大小。
二、SWAP的作用
①对于一些大型的应用程序(如LibreOffice、video editor等),在启动的过程中会使用大量的内存,但这些内存很多时候只是在启动的时候用一下,后面的运行过程中很少再用到这些内存。有了swap后,系统就可以将这部分不这么使用的内存数据保存到swap上去,从而释放出更多的物理内存供系统使用。
②很多发行版(如ubuntu)的休眠功能依赖于swap分区,当系统休眠的时候,会将内存中的数据保存到swap分区上,等下次系统启动的时候,再将数据加载到内存中,这样可以加快系统的启动速度,所以如果要使用休眠的功能,必须要配置swap分区,并且大小一定要大于等于物理内存
在某些情况下,物理内存有限,但又想运行耗内存的程序怎么办?这时可以通过配置足够的swap空间来达到目标,虽然慢一点,但至少可以运行。
③虽然大部分情况下,物理内存都是够用的,但是总有一些意想不到的状况,比如某个进程需要的内存超过了预期,或者有进程存在内存泄漏等,当内存不够的时候,就会触发内核的OOM killer,根据OOM killer的配置,某些进程会被kill掉或者系统直接重启(默认情况是优先kill耗内存最多的那个进程),不过有了swap后,可以拿swap当内存用,虽然速度慢了点,但至少给了我们一个去debug、kill进程或者保存当前工作进度的机会。
④如果看过Linux内存管理,就会知道系统会尽可能多的将空闲内存用于cache,以加快系统的I/O速度,所以如果能将不怎么常用的内存数据移动到swap上,就会有更多的物理内存用于cache,从而提高系统整体性能。
三、swap分区的典型大小
1. 如果物理内存 <= 4G,swap 设置为 内存的 2 倍
2. 如果物理内存介于 4G~16G 之间,swap 设置为至少 4 G
3. 如果物理内存介于 16G~64G 之间,swap 设置为至少 8 G
4. 如果物理内存 >= 64G,swap 设置为至少 16 G
四、查看当前交换分区
1.free
free:查看内存的详细信息,其中包括交换分区的大小,单位为 K
free -m:查看内存的详细信息,其中包括交换分区的大小,大小为 M
free -h :查看内存的详细信息,其中包括交换分区的大小,大小为 G

2.cat /proc/swaps 或 swapon -s
cat /proc/swaps 或 swapon -s:查看即时内存中的交换分区信息。其中 proc 为根路径下的即时内存目录

五、创建新的swap交换分区
1.启动分区管理器
2.创建分区
3.创建主分区
4.设置主分区的起始地址,这里我空了一个G,实际从默认位置即可
5.终止地址,我在此处填写此分区的大小
6.查看分区情况,可以看到分区sdc1的类型是Linux,
7.输入t,更改分区类型。将分区类型更改为交换分区。代码【82】
8.再次查看分区信息。可以看到sdc1的类型变为了【Linux swap】
9.输入w,保存配置。

六、创建文件系统或分区格式化

七、挂载并查看

1496

被折叠的 条评论
为什么被折叠?



