文档章节

Linux学习-内存交换空间(swap)之创建

u
 uetucci
发布于 2017/08/21 10:02
字数 1020
阅读 12
收藏 0

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

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

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

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

    1. 先进行分区的行为
[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   
    1. 开始创建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的内存交换空间

    1. 使用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
    1. 使用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
# 这个指令下达时请“特别小心”,因为下错字符控制,将可能使您的文件系统挂掉!
    1. 使用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
    1. 使用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 设置无误!

© 著作权归作者所有

共有 人打赏支持
u
粉丝 0
博文 65
码字总数 103136
作品 0
深圳
程序员
新手玩Linux ---- 从Linux From Scratch开始学习linux(二)

好多新手朋友不明白Linux的分区是怎么回事,看书有时候看的一头雾水,新手么现在了解的那么复杂了反而会打击大家的学习积极性,所以大家先简单了解下就可以了,复杂的后边会慢慢在应用的时候...

赵臣
2011/08/27
0
0
如何设置Linux swap分区

如何设置Linux swap分区 看到不少朋友问linux下swap分区的问题,收集到一篇 不错的文章 ,分享下。 什么是Swap? Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调...

mysoftsky
2014/07/29
0
0
揭开Linux的Swap之谜

为什么选择Linux?因为Linux能让你掌握你所做的一切! 为什么痛恨Windows?因为Windows让你不知道自己在做什么! 这就是我喜欢Linux的原因。只要我愿意,我可以将底层的系统运行机制看得清清...

mac_zhao
2015/01/08
0
0
zabbix提示swap space不足的解决方法

之前zabbix一直提示xx机器swap空间不足,也没去管它,最近觉得还是处理一下比较好; 首先了解下什么是swap分区: Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时...

邱野
06/28
0
0
如何合理设置Linux的swap分区

Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。...

LiangX
2012/02/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
28分钟前
0
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
41分钟前
1
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
1
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部