中国领先的IT技术网站
|
|

Linux swap分区的扩展

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。swap分区在非高内存的服务器上必不可少,但是swap不能充当内存使用。

作者:佚名来源:嵌入式Linux中文站|2017-08-15 11:00

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。swap分区在非高内存的服务器上必不可少,但是swap不能充当内存使用。

一、swap分区扩展的方法

  • 新建swap分区:以分区的形式创建swap
  • 新建swap file:以文件的形式创建swap

分区与file的区别:文件可以随时扩大缩小,可以随时移动。分区不行。

二、以分区的形式扩展swap

1.首先用磁盘管理工具fdisk打开磁盘,然后将新建的分区/dev/sda6的ID更改为82,然后保存退出。

2.退出后会提示警告,这是因为分区表没有同步到内存中时,使用partprobe将磁盘中的分区表同步到内存中。

3.格式化swap分区并启用swap分区

  1. [root@centos7 ~]$mkswap /dev/sda6 #格式化swap分区 
  2. [root@centos7 ~]$swapon -a #激活所有swap分区 

4.使用lsblk确认已经有两个swap

5.使用swapon -s查看所有的swap分区,此时swap分区已经扩展1G。

free可以看到内存与swap的使用情况

6.配置自动挂载,将swap分区写入/etc/fstab使其可以再开机自动挂载。UUID为/dev/sda6分区的UUID可以通过blkid /dev/sda6查看UUID。这里要注意UUID不能添加双引号。

添加完后mount -a立即更新

三、以文件的形式创建swap

1.首先要有一个分区,此分区的剩余空间要比计划的swap空间大。我这里以sda7做演示。分区也可以时现有的分区

2.创建一个挂载点,然后将分区挂载到挂载点。并进入到此分区

3.创建一个文件,用于创建swap分区。count=1024代表此文件为1G

4.mkswap swapfle将文件格式化为swap格式,然后使用blkid swapfile查看文件格式是否为swap

5.设置自动挂载。vim /etc/fstab写入swapfile的UUID等信息。mount -a自动挂载立即生效

6.swapon -a 激活所有的swap分区。提示文件权限为0644不安全,所以我改为600.

7.swapon -s查看所有swap分区使用情况。最后一个类型为file的就是刚刚创建好的文件式swap

四、总结

  • swap分区只能作为内存不够时的暂时应急,不能直接替代内存使用。
  • 文件式swap:可以随时改变大小,可以移动至其他分区
  • 分区式swap:不能更改大小,不能移动 

【编辑推荐】

  1. CoreOS,一款Linux容器发行版
  2. 编写Linux Shell脚本的最佳实践
  3. Linux自带i2c工具使用
  4. 使用Nmon监控Linux的系统性能
  5. 浅析Linux的共享内存与tmpfs文件系统
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

高质量程序设计指南:C++/C语言(第3版)

本书以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。本书共17章,第1章到第4...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× CTO训练营(深圳站)