内存置换空间(swap)之建置

日期:2015年01月08日 作者: 分类:运维 浏览:3902

一、使用实体分区建置swap

1. 先进行分区的行为,从硬盘上分出一部分空间,假设分出来的分区为/dev/sda12

[root@localhost ~]# fdisk /dev/sda

2. 开始建置 swap 格式

[root@localhost ~]# mkswap /dev/sda12

3. 开始观察与加载

[root@localhost ~]# free

             total       used       free       shared    buffers     cached
Mem:        742664     684592      58072            0     43820      497144
-/+ buffers/cache:     143628     599036
Swap:      1020088         96    1019992
# 我有 742664K 的物理内存,使用 684592K 剩余 58072K ,使用掉的内存有
# 43820K / 497144K 用在缓冲/缓存的用途中。
# 至于 swap 已经存在了 1020088K 啰!这样会看了吧?!

[root@localhost ~]# swapon /dev/sda12

[root@localhost ~]# free

             total       used       free     shared    buffers     cached
Mem:        742664     684712      57952          0      43872     497180
-/+ buffers/cache:     143660     599004
Swap:      1277088         96    1276992  <==有添加啰!看到否?

[root@localhost ~]# swapon -s

Filename                 Type            Size    Used    Priority
/dev/hdc5                partition       1020088 96      -1
/dev/hdc7                partition       257000  0       -2
# 上面列出目前使用的 swap 装置有哪些的意思!

二、使用文件建置swap

1. 使用 dd 这个命令来新增一个 128MB 的文件在 /tmp 底下:

[root@localhost ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128

2. 使用 mkswap 将 /tmp/swap 这个文件格式化为 swap 的文件格式:

[root@localhost ~]# mkswap /tmp/swap

3. 使用 swapon 来将 /tmp/swap 启动

[root@localhost ~]# swapon /tmp/swap

三、关闭swap

[root@localhost ~]# swapoff /tmp/swap

或者:

[root@localhost ~]# swapoff /dev/sda12

四、swap使用上的限制

说实话,swap 在目前的计算机来讲,存在的意义已经不大了!这是因为目前的 x86 主机所含的内存实在都太大了 (一般入门级至少也都有 512MB 了),所以,我们的 Linux 系统大概都用不到 swap 这个玩意儿的。不过, 如果是针对服务器或者是工作站这些常年上线的系统来说的话,那么,无论如何,swap 还是需要创建的。

因为 swap 主要的功能是当物理内存不够时,则某些在内存当中所占的程序会暂时被移动到 swap 当中,让物理内存可以被需要的程序来使用。另外,如果你的主机支持电源管理模式, 也就是说,你的 Linux 主机系统可以进入『休眠』模式的话,那么, 运行当中的程序状态则会被纪录到 swap 去,以作为『唤醒』主机的状态依据! 另外,有某些程序在运行时,本来就会利用 swap 的特性来存放一些数据段, 所以, swap 来是需要创建的!只是不需要太大,根据一般使用的经验,1G的swap就够用了!

不过,swap在被创建时,是有限制的!

在核心 2.4.10 版本以后,单一 swap 量已经没有 2GB 的限制了,

但是,最多还是仅能创建到 32 个 swap 的数量!

而且,由于目前 x86_64 (64位) 最大内存寻址到 64GB, 因此, swap 总量最大也是仅能达 64GB 就是了!

标签:

除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址

本文地址:https://wanglu.info/2015/01/162.html