linux交换空间逻辑扩展,Linux 下扩展交换空间

开始之前我们说点背景。一般来说,当应用程序使用大量物理内存(RAM)并且不够用时操作系统会开始使用交换空间(Swap Space)。这种情况下,操作系统会把不活动的物理页面置换到交换空间。

释放出来的空闲内存可以继续被其他应用程序使用。等到物理内存使用量降下来后,交换的内存区域又会换回到物理内存中。系统管理员应该确保系统交换空间足够,保证操作系统在内存不够用时,始终能够通过置换页面的方式获取可用的物理内存。那这是必要的吗?且接着往下看。

下面会介绍如何创建、扩展和删除交换空间。首先回答交换空间必要性的问题。

真的需要交换空间?

并不是的,前提是你的系统拥有足够的物理内存。但是,建议给系统分配交换空间。因为当系统运行着大量消耗内存的应用,物理内存不够用,且不具备交换空间时,操作系统极容易发生崩溃。对比 RAM 来看,一点点的磁盘空间真是太便宜了。所以建议大家都为系统创建交换空间。

分区还是文件?

交换空间可以直接划分在一个专门的交换分区(推荐),也可以是一个单独的交换文件,甚至可以是这两种方式的组合。默认情况下,大部分的Linux 发行版在安装时都会创建一个专门的交换分区。而 Windows 一般来说用了交换文件这种方式。

交换空间需要多大?

其实没有特别严格的限制。通常的做法是保证交换空间至少是物理内存的 1.5 倍大小。休眠情况下,交换空间至少可能会用和 RAM 一样的大小。

配置交换分区

接下来,让我们用文件的方式配置交换空间并立即启用。文件的方式分区方式更灵活。Root 账户登录。

1

2root@debian:~#

在 /var目录下创建一个名为 ‘swapfile’ 的文件,并给予合适的权限。

1

2

3

4

5

6

7

8

9root@debian:~# cd /var/

root@debian:/var# touch swapfile

root@debian:/var# ls -la swapfile

-rw-r--r--1rootroot0Feb406:17swapfile

root@debian:/var# chmod 600 swapfile

root@debian:/var# ls -la swapfile

-rw-------1rootroot0Feb406:17swapfile

root@debian:/var#

用 ‘dd’ 命令向交换文件写 1GB (这里举例 1GB )数据。

1

2

3

4

5

6root@debian:/var# dd if=/dev/zero of=/var/swapfile bs=1024k count=1000

1000+0recordsin

1000+0recordsout

1048576000bytes(1.0GB,1000MiB)copied,1.71043s,613MB/s

root@debian:/var#

设置交换文件。

1

2

3

4

5root@debian:/var# mkswap /var/swapfile

Setting up swapspaceversion1,size=1000MiB(1048571904bytes)

nolabel,UUID=4368aa26-e09e-4733-92c9-ced7865f6ff9

root@debian:/var#

启用交换文件。

1

2

3root@debian:/var# swapon /var/swapfile

root@debian:/var#

检验一下交换文件是否被成功启用。

1

2

3

4

5

6

7

8root@debian:/var# cat /proc/swaps

Filename                                Type            Size    UsedPriority

/var/swapfilefile10239960-1

root@debian:/var# swapon --show

NAME          TYPE       SIZE  USEDPRIO

/var/swapfilefile1000M0B-1

root@debian:/var#

配置 fstab 文件。

打开‘/etc/fstab’文件,将下面这行添加到文件末尾,下次系统启动后就会自动启用交换文件了。

1

2/var/swapfile none swapsw00

禁用移除交换文件禁用一个交换文件。

1

2

3root@debian:/var# swapoff /var/swapfile

root@debian:/var# swapon --show

删除一个交换文件。

1

2

3root@debian:/var# rm /var/swapfile

root@debian:/var#

更新 ‘/etc/fstab’ 文件。

将上文中添加的那行,从文件中删除保存即可。

1

2/var/swapfile none swapsw00

交换空间的局限

交换机制存在一个缺点。因为交换空间往往在硬盘上,交换物理页面时访问磁盘是相当缓慢的。所以交换空间并不能完全替代物理内存。

说到最后

系统管理员可以合理的调整交换空间的大小,有利于系统运行得更加顺畅。可以通过系统内存监控等软件获取系统运行时内存情况,根据对应的情况合理调整大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值