Linux swap的创建与配置


在Linux下,swap的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。
Linux下的swap有两种实现形式,一种是通过某个物理磁盘分区来实现swap,另一种是通过虚拟内存文件来实现swap。
    一般来说可以按照如下规则设置swap大小:
    4G以内的物理内存,SWAP 设置为内存的2倍。
    4-8G的物理内存,SWAP 等于内存大小。
    8-64G 的物理内存,SWAP 设置为8G。
    64-256G物理内存,SWAP 设置为16G。
查看系统中Swap可以使用free命令或者查看/proc/swaps文件。

###物理磁盘分区来实现swap
1.通过分区软件创建一个分区。
    分区类型fdisk下为82,gdisk下为8200,partep分区标记没有定义swap,其实分区后不更改分区类型也行测试也可以用,但为了在分区工具下方便查看最好还是把分区类型改成swap对应的分区类型。
    分区类型就是分区软件下用来描述分区所要承载的文件系统的类型,比如分区类型为83表示为linxu分区,用于格式化成ext3 ext4等linux文件系统,分区创建的方法这里就不写了前面有分区创建的方法。
2.使用mkswap命令把分区格式化为swap分区
    mkswap /dev/sdb1
3.使用swapon命令使交换分区/dev/sdb1生效
    free -h 
    swapon /dev/sdb1	#使新添加的swap生效
    free -h 
4.将新添加的交换分区添加到/etc/fstab文件中使之开机启动(根据不同的发行版将下面的内容添加到/etc/fstab中,添加完后最好用swapon -a命令查看添加的是否有问题)
    UUID=47fe2c83-c4b9-4ee5-ad91-4a9642f66df5   none    swap    sw   0    0 #Debian9.5默认的格式,UUID为对应的交换分区UUID
    UUID=47fe2c83-c4b9-4ee5-ad91-4a9642f66df5    swap  swap   defaults    0   0 #CentOS7-1810与openSUSE15默认的格式,UUID为对应的交换分区UUID

###使用文件来实现swap(当系统内没有剩余可用的分区时我们可以用在Linux的某个目录下创建一个空白文件,通过把这个文件格式化成swap从而实现创建swap的过程。)
1.通过dd命令在/tmp/目录下新增加一个1G大小的空文件。
    dd if=/dev/zero  of=/tmp/swap  bs=1G  count=1	#增加一个1G大小的空文件
    chmod 600 /tmp/swap        #修改文件权限,只有root读写
    ls -lh /tmp/swap           #查看创建的文件大小和权限
2.使用mkswap命令把创建的文件格式化为swap
    mkswap /tmp/swap 
3.使用swapon命令使swap生效
    swapon   /tmp/swap
    swapon -s
4.将新添加的交换分区添加到/etc/fstab文件中使之开机启动(根据不同的发行版将下面的内容添加到/etc/fstab中,添加完后最好用swapon -a命令查看添加的是否有问题)
    /tmp/swap	     none   		  swap		sw		  0 0    #Debian9.5默认的格式,这里不要用UUID,这是因为系统只会查询块设备,不会查询文件
    /tmp/swap	     swap		  swap	     defaults	           0 0	#CentOS7-1810与openSUSE15默认的格式

###Linux swapon命令参数及用法
    swapon 是开启swap,相对的便有一个关闭swap的指令,swapoff
    swapon [选项]   [设备]
    -h   显示帮助信息
    -V   显示版本信息
    -v   显示详细模式
    -s   显示swap的使用情况,可以查看所有激活的swap
    -a   将/etc/fstab文件中所有设置为swap的设备启用
    -p   设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定。 
###Linux swapoff命令参数及用法
    swapoff [选项]   [设备]
    -a   将/etc/fstab文件中所有设置为swap的设备关闭
    举例:swapoff /dev/sdb1     # 关闭swap分区/dev/sdb1
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐