使用磁盘空间为Linux系统开辟新的swap内存空间

Linux系统中swap的重要性

Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

突破128M Swap限制

有些Linux安装手册上有这样的说明:Swap空间不能超过128M。为什么会有这种说法?在说明“128M”这个数字的来历之前,先给问题一个回答:现在根本不存在128M的限制!现在的限制是2G!

Linux系统中的Swap空间是分页的,每一页的大小和内存页的大小一样,方便Swap空间和内存之间的数据交换。旧版本的Linux实现Swap空间时,用Swap空间的第一页作为所有Swap空间页的一个“位映射”(Bit map)。这就是说第一页的每一位,都对应着一页Swap空间。如果这一位是1,表示此页Swap可用;如果是0,表示此页是坏块,不能使用。这么说来,第一个Swap映射位应该是0,因为,第一页Swap是映射页。另外,最后10个映射位也被占用,用来表示Swap的版本(原来的版本是Swap_space ,现在的版本是swapspace2)。那么,如果说一页的大小为s,这种Swap的实现方法共能管理“8 * ( s - 10 ) - 1”个Swap页。对于i386系统来说s=4096,则空间大小共为133890048,如果认为1 MB=2^20 Byte的话,大小正好为128M。

 增加Swap空间

 增加Swap空间,分以下几步:

1)成为超级用户

su - root

2)创建Swap分区

fdisk /dev/sda         #在sda磁盘中分出2个G 作为swap分区

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n #新建分区
Command action
   e   extended
   p   primary partition (1-4)   #分区类型
e                                #e为扩展分区
Selected partition 4             #默认编号为4  第四块分区
First cylinder (10330-26108, default 10330):  #分区节点号 默认
Using default value 10330
Last cylinder, +cylinders or +size{K,M,G} (10330-26108, default 26108): +2G  #2G空间
Partition number (1-4): t        #切记选择分区类型
Partition number (1-4): L
Partition number (1-4): 4         #第四快分区类型
Hex code (type L to list codes): L 
Hex code (type L to list codes): 82        #选项编号为82的Linux swap类型
Changed system type of partition 4 to 82 (Linux swap / Solaris)

Command (m for help): w        # 保存
The partition table has been altered!

Calling ioctl() to re-read partition table.

当保存后出现以下提醒时需要更新磁盘信息

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

以上为centos6 下提醒信息;使用以下命令更新磁盘信息 不然新创建的分区不会显示出来。

partx -a /dev/sda

在centos7中使用partprobe  跟新新加磁盘信息

partprobe

3)创建swap格式文件系统

mkswsp /dev/sda4    #对以上sda磁盘中新分区的sda4分区中创建swap文件系统

代码执行结果如下:

mkswap /dev/sda4
Setting up swapspace version 1, size = 2102572 KiB
no label, UUID=67d64cce-b14d-477f-a9e8-0d043d09d12a

4)mount(挂载)

1、 

mkdir /mnt/swap     #创建挂载点

 2、使用blkid查看swap分区的uuid号  如下图  /dev/sda5  这里同/dev/sda4是一个道理

 

3、编辑挂载UUID

vim /etc/fstab
UUID=67d64cce-b14d-477f-a9e8-0d043d09d12a   /mnt/swap   swap   defaults  0 0

5)对swap 生效

swapon -a

完成

 

取消swap虚拟内存方法

 

1、swapoff   /dev/sdb1 (禁用swap)
2、删除配置vim  /etc/fstab  中的swap文件
3、删除分区:fdisk /dev/sda5

希望对大家有所帮助。感兴趣的朋友可以继续参阅本博客号里其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对此Linux博客篇的支持!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值