创建内存交换分区

        若已经将系统建立起来了,此时却发现没有创建内存交换分区,就可以通过下面的方式创建

使用物理分区创建内存交换分区
创建步骤如下:       
        1.分区:先使用 gdisk 在你的磁盘中分区出一个分区给系统作为 swap 。由于 Linux 的 gdisk 默认会将分区的 ID 设置为 Linux 的文件系统,所以可能还得要设置一下 system ID 。
        2.格式化:利用创建 swap 格式的“mkswap 设备文件名”就能够格式化该分区成为 swap 格式
        3.使用:最后将该 swap 设备启动,方法为:“swapon 设备文件名”。
        4.观察:最终通过 free 与 swapon -s 这个指令来观察内存的用量。
下面尝试来创建一个内存交换分区吧:
        1.划分一个分区

[root@study ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): n
Partition number (6-128, default 6): 6
First sector (34-83886046, default = 69220352) or {+-}size{KMGTP}: 
Last sector (69220352-83886046, default = 83886046) or {+-}size{KMGTP}: +512M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 90923798-5275-4862-B31C-261D9B0970BE
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 13619133 sectors (6.5 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem
   5        67123200        69220351   1024.0 MiB  0700  Microsoft basic data
   6        69220352        70268927   512.0 MiB   8200  Linux swap

        2.创建swap格式

[root@study ~]# mkswap /dev/sda6
正在设置交换空间版本 1,大小 = 524284 KiB
无标签,UUID=39ae5184-af6a-4cf4-8c69-32f7e108336c
[root@study ~]# lsblk -fp /dev/sda6
NAME      FSTYPE LABEL UUID                                 MOUNTPOINT
/dev/sda6 swap         39ae5184-af6a-4cf4-8c69-32f7e108336c 

        3.观察与加载

[root@study ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1636948      718692       83596       78244      834660      611840
Swap:       1048572        4360     1044212
[root@study ~]# swapon /dev/sda6
[root@study ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1636948      720028       81052       78244      835868      610504
Swap:       1572856        4360     1568496
[root@study ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	4360	-2
/dev/sda6                              	partition	524284	0	-3
# 上面显示的为目前使用的内存交换分区设备有哪些

        4.写入/etc/fstab中

[root@study ~]# nano /etc/fstab 
UUID="39ae5184-af6a-4cf4-8c69-32f7e108336c" swap swap defaults 0 0 
# 写入到/etc/fstab中,由于不是文件系统,因此没有挂载点,所以写swap即可。

使用文件创建内存交换文件
        
如果在物理分区无法支持的环境下,就可以通过dd去创建一个大文件的方法建立一个内存交换分区。
        1.使用dd在/tmp下创建一个128M的文件

[root@study ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128
记录了128+0 的读入
记录了128+0 的写出
134217728字节(134 MB)已复制,0.382802 秒,351 MB/秒
[root@study ~]# ll -h /tmp/swap 
-rw-r--r--. 1 root root 128M 12月  5 16:28 /tmp/swap
# 这个指令的简单意义如下:
# if    是 input file ,输入文件。那个 /dev/zero 是会一直输出 0 的设备。
# of    是 output file ,将一堆零写入到后面接的文件中。
# bs    是每个 block 大小,就像文件系统那样的 block 意义。
# count 则是总共几个 bs 的意思。

        2.将/tmp/swap格式化为内存交换文件

[root@study ~]# mkswap /tmp/swap 
正在设置交换空间版本 1,大小 = 131068 KiB
无标签,UUID=a6fc9748-308d-4279-8380-c922e76183e5
# 这个命令执行时请小心,因为错误字符,可能导致文件系统挂掉。

        3.启动内存交换文件

[root@study ~]# swapon /tmp/swap
swapon: /tmp/swap:不安全的权限 0644,建议使用 0600。
swapon: /tmp/swap:swapon 失败: 设备或资源忙
[root@study ~]# chmod 0600 /tmp/swap
[root@study ~]# swapon /tmp/swap
swapon: /tmp/swap:swapon 失败: 设备或资源忙
[root@study ~]# swapoff /tmp/swap 
[root@study ~]# swapon /tmp/swap

        4.使用swapoff关闭swap file,并设置自动启用

[root@study ~]# nano /etc/fstab
/tmp/swap swap swap defaults 0 0
# 这里不能使用UUID,因为系统仅会查询区块设备不会查询文件
[root@study ~]# swapoff /tmp/swap /dev/sda6
[root@study ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	3428	-2
[root@study ~]# swapon -a
[root@study ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	3428	-2
/dev/sda6                              	partition	524284	0	-3
/tmp/swap                              	file	131068	0	-4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值