我是靠谱客的博主 精明万宝路,最近开发中收集的这篇文章主要介绍linux内存置换空间,Linux学习-内存交换空间(swap)之创建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

###使用实体分区创建swap

创建swap分区的方式也是非常简单的。通过下面几个步骤就可以搞定:

分区 : 先使用gdisk在你的磁盘中分出一个分区给系统作为swap。由于Linux的gdisk默认会将分区的ID设置为Linux的文件系统。所以你可能还得要设置一下system ID。

格式化 : 利用创建swap格式的"mkswap 设备文件名"就能够格式化该分区成为swap格式。

使用 : 最后将该swap设备启动,方法为 : "swapon 设备文件名"

观察 : 最终通过free与swapon -s这个指令来观察一下内存的用量吧

不多说,立刻实做看看。分区512MB的磁盘分区,然后将这个磁盘分区做成swap。

先进行分区的行为

[root@study ~]# gdisk /dev/vda

Command (? for help): n

Partition number (6-128, default 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

Number Start (sector) End (sector) Size Code Name

6 69220352 70268927 512.0 MiB 8200 Linux swap # 重点就是产生这东西!

Command (? for help): w

Do you want to proceed? (Y/N): y

[root@study ~]# partprobe

[root@study ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

vda 252:0 040G0disk

.....(中间省略).....

`-vda6 252:6 0 512M 0 part # 确定这里是存在的才行!

# 简化了输出。结果我们可以看到多了一个/dev/vda6可以使用与swap

开始创建swap格式

[root@study ~]# mkswap /dev/vda6

etting up swapspace version 1, size = 524284 KiB

no label, UUID=6b17e4ab-9bf9-43d6-88a0-73ab47855f9d

[root@study ~]# blkid /dev/vda6

/dev/vda6: UUID="6b17e4ab-9bf9-43d6-88a0-73ab47855f9d" TYPE="swap"

# 确定格式化成功! 且使用blkid确实可以抓取到这个设备。

3.开始观察与载入看看

[root@study ~]# free

total used free shared buff/cache available

Mem: 1275140 227244 330124 7804 717772 875536 # 实体内

Swap: 1048572 101340 947232 # swap

# 我有 1275140K 的实体内存,使用 227244K 剩余 330124K ,使用掉的内存有

# 717772K 用在缓冲/高速缓存的用途中。至于 swap 已经有 1048572K !这样会看了吧?!

[root@study ~]# swapon /dev/vda6

[root@study ~]# free

total used free shared buff/cache available

Mem: 1275140 227940 329256 7804 717944 874752

Swap: 1572856 101260 1471596 <==有看到增加了没?

[root@study ~]# swapon -s

Filename Type Size Used Priority

/dev/dm-1 partition 1048572 101260 -1

/dev/vda6 partition 524284 0 -2

# 上面列出目前使用的 swap 设备有哪些的意思!

[root@study ~]# nano /etc/fstab

UUID="6b17e4ab-9bf9-43d6-88a0-73ab47855f9d" swap swap defaults 0 0

# 当然要写入配置文件,只不过不是文件系统,所有没有挂载点,第二个swap即可

###使用文件创建swap

通过文件创建的方法创建一个128MB的内存交换空间

使用dd这个指令来新增一个128MB的文件在/tmp下面:

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

128+0 records in

128+0 records out

134217728 Bytes (134 MB) copied, 1.7066 seconds, 78.6 MB/s

[root@study ~]# ll -h /tmp/swap

-rw-r--r--. 1 root root 128M Jun 26 17:47 /tmp/swap

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

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

Setting up swapspace version 1, size = 131068 KiB

no label, UUID=4746c8ce-3f73-4f83-b883-33b12fa7337c

# 这个指令下达时请“特别小心”,因为下错字符控制,将可能使您的文件系统挂掉!

使用swapon来将/tmp/swap启动

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

[root@study ~]# swapon -s

Filename Type Size Used Priority

/dev/dm-1 partition 1048572 100380 -1

/dev/vda6 partition 524284 0 -2

/tmp/swap file 131068 0 -3

使用swapoff关联swap file,并设置自动启动

[root@study ~]# nano /etc/fstab

/tmp/swap swap swap defaults 0 0

# 为何这里不要使用 UUID 呢?这是因为系统仅会查询区块设备 (block device) 不会查询文件!

# 所以,这里千万不要使用 UUID,不然系统会查不到喔!

[root@study ~]# swapoff /tmp/swap /dev/vda6

[root@study ~]# swapon -s

Filename Type Size Used Priority

/dev/dm-1 partition 1048572 100380 -1

# 确定已经回复到原本的状态了!然后准备来测试!!

[root@study ~]# swapon -a

[root@study ~]# swapon -s

# 最终你又会看正确的三个 swap 出现 !这也才确定你的 /etc/fstab 设置无误!

最后

以上就是精明万宝路为你收集整理的linux内存置换空间,Linux学习-内存交换空间(swap)之创建的全部内容,希望文章能够帮你解决linux内存置换空间,Linux学习-内存交换空间(swap)之创建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部