Centos 虚拟内存swap添加与删除配置

本文介绍了Linux中虚拟内存SWAP的相关操作。SWAP用于扩充物理内存,可通过文件或分区实现。文中详细说明了增加和删除swap交换文件、使用分区做SWAP、删除交换分区的步骤,还提及了虚拟内存使用比例触发设置,包括查看、临时和永久调整的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

 

介绍:

一、增加swap交换文件

二、删除swap交换文件

三、使用分区来做SWAP(虚拟内存).

四、删除交换分区

五、虚拟内存使用比例触发设置


 

介绍:

先来理解下SWAP是什么,这是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。

Centos6的交换分区方案官网推荐:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-ppc#id4394007

Centos7 官网推荐:

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-disk-partitioning-setup-x86#sect-recommended-partitioning-scheme-x86

首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):

输入free -m查看可见这是1g内存1g交换空间的机器

 

输入swapon -s或者cat /proc/swaps 查看文件和分区的详细信息

添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件

一、增加swap交换文件

1、使用dd命令创建一个swap交换文件

dd if=/dev/zero of=/home/swap bs=1024 count=4048000

这样就建立一个/home/swap的分区文件,大小为4G。

2、制作为swap格式文件:

mkswap /home/swap

3、再用swapon命令把这个文件分区挂载

/sbin/swapon /home/swap

 如果这里报权限错误的话可以执行chmod -R 0600 /home/swap

我们用free -m命令看一下,发现已经有交换分区了。

但是重启系统后,swap分区又变成0了。

4、为防止重启后swap分区变成0,要修改/etc/fstab文件

echo '/home/swap swap swap default 0 0' >>/etc/fstab
cat /etc/fstab

这样就算重启系统,swap分区还是有值。

 

二、删除swap交换文件

1、先停止swap分区

/sbin/swapoff /home/swap

2、删除swap分区文件

rm -rf /home/swap

3、删除自动挂载配置命令

vi /etc/fstab

这行删除

/home/swap swap swap default 0 0

这样就能把手动增加的交换文件删除了。

注意:

1、增加删除swap的操作只能使用root用户来操作。

2、装系统时分配的swap分区貌似删除不了。

3、swap分区一般为内存的2倍,但最大不超过2G(实际操作我增加了一个4g的也能识别)

 

 

三、使用分区来做SWAP(虚拟内存).

1  使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)

2 使用 mkswap 命令来设置交换分区:

# mkswap /dev/sdb2

3 启用交换分区:

# swapon /dev/sdb2

4 写入/etc/fstab,以便在引导时启用:

/dev/sdb2 swap swap defaults 0 0

四、删除交换分区

步骤如下:

1、先停止swap分区

/sbin/swapoff /dev/sdb2

2、删除自动挂载配置命令

vi /etc/fstab

这行删除

/dev/sdb2 swap swap defaults 0 0

这样就能把手动增加的交换分区删除了。

 

五、虚拟内存使用比例触发设置

简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。

当内存可用率低于60%的时候就会使用交换内存

查看设置:cat /proc/sys/vm/swappiness

临时调整的方法如下,我们调成10:

[root@timeserver ~]# sysctl vm.swappiness=10

要想永久调整的话,需要将

需要在/etc/sysctl.conf修改,加上:

echo vm.swappiness = 0 >> /etc/sysctl.conf

激活设置

[root@timeserver ~]# sysctl -p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值