CentOS如何增加虚拟内存

前言
之前利用学生优惠买了阿里云1核2G的服务器,但是使用的过程中发现内存不够用,但是没办法,穷。后来服务器到期了又通过其他渠道买了阿里云3年的的1核2G的服务器(还是因为穷),这次使用的时间比较长,就只能通过增加虚拟内存的方式来扩大内存容量了,也就是通过创建swap分区来实现。

一、何为swap分区?

在这里插入图片描述
简而言之:从磁盘上获取很长没被使用的程序的空间来当做虚拟内存使用。

二、swap分区的创建

1、查看内存使用情况

在这里插入图片描述
可以看到一共是1.8G的内存,因为是才使用所以才用了458M,为了防止以后满了宕机,所以提前加虚拟内存,可以看到虚拟内存swap暂时为0B,因为我还没创建。

2、查看磁盘使用情况

在这里插入图片描述
可以看到磁盘本身有40G,才用了5.1G,可用33G。因此可以从40G中拿出来4G出来当做虚拟内存。

3、添加swap分区

使用dd命令创建名为swapfile的swap交换文件,当然文件名和目录各自随意命名

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=4194304 

在这里插入图片描述
这里解释一下:
dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。

bs=1024 :单位数据块(block)同时读入/输出的块字节大小为1024 个字节即1KB,bs(即block size)。

count = 4194304 表示的是4G,具体计算公式为:1KB * 4194304 =1KB * 1024(k) * 1024 * 4= 4194304 =4G。

我这里是看磁盘40G设置为4G,大家感觉小了可以自行设置。

4、对交换文件格式化并转换为swap分区

mkswap  /var/swapfile

5、挂载并激活分区

swapon   /var/swapfile

在这里插入图片描述
执行完以后可能会出现以上提示,是系统的建议,大家可以忽略也可以执行以下命令,都不影响激活

chmod -R 0600 /var/swapfile

6、再次查看内存使用情况

在这里插入图片描述
可以看到swap虚拟内存已经添加好了,4G。

7、修改 fstab 配置,设置开机自动挂载该分区

echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab

三、swap参数配置

Linux默认的好像是当物理内存使用了百分之60(有的是说百分之50)的时候就会开始使用虚拟内存,但是这样的话会造成物理内存浪费而且虚拟内存是从磁盘来的,磁盘会进行大量IO影响效率。所以为了提高效率,我们可以修改swap的swappiness的值。

swappiness的值可以设置0-100,值代表了当物理内存剩余多少的时候开始使用虚拟内存。一般我们都设置为10-50,我这里设置的是10,代表当物理内存使用了百分之90的时候开始使用虚拟内存。
大家可以根据自己的情况设置。

1、查看本机swappiness的值:

cat /proc/sys/vm/swappiness

2、修改swappiness的值:

sysctl vm.swappiness=10

3、设置永久有效,重启系统后生效

echo "vm.swappiness = 10"  >>  /etc/sysctl.conf

4、再次查看swappiness的值:

在这里插入图片描述
发现swappiness的值已经被修改成了10;

5、运行top命令查看内存使用情况:

在这里插入图片描述
可以看到由于物理内存的使用还没达到90%,所以虚拟内存还没被使用。

四、swap分区的删除

swap分区的删除仅用于以后删除分区的时候使用,这里记录一下万一以后需要呢

1、停止正在使用的swap分区

swapoff  /var/swapfile

2、删除swap分区文件

rm -rf   /var/swapfile

3、删除或者注释掉之前我们在fstab文件中追加的开机自动挂载内容配置

vim    /etc/fstab

#把下面内容删除
/var/swapfile   swap  swap  defaults  0  0
CentOS 中,虚拟内存是由操作系统用于扩展物理内存的一种技术。它允许将部分硬盘空间用作临时存储,以便在物理内存不足时使用。 要配置虚拟内存,可以按照以下步骤进行操作: 1. 查看当前的虚拟内存配置:可以使用命令 `sysctl vm.swappiness` 来查看当前的 swappiness 值,该值表示内核在多大程度上倾向于将内存页面交换到磁盘中的交换空间。默认值为 60。 2. 修改虚拟内存配置:可以使用命令 `sysctl -w vm.swappiness=新值` 来修改 swappiness 值。较低的值(如10)将减少交换,而较高的值(如100)将增加交换。 3. 永久修改虚拟内存配置:可以编辑 `/etc/sysctl.conf` 文件,在文件末尾添加 `vm.swappiness=新值`,保存并退出。然后使用命令 `sysctl -p` 来重新加载配置文件。 4. 创建交换文件:如果需要增加虚拟内存空间,可以创建一个交换文件。首先,创建一个具有适当大小的文件(例如 2GB):`sudo fallocate -l 2G /swapfile`。然后设置访问权限:`sudo chmod 600 /swapfile`。接下来,将文件转换为交换文件:`sudo mkswap /swapfile`。最后,激活交换文件:`sudo swapon /swapfile`。 5. 永久激活交换文件:可以编辑 `/etc/fstab` 文件,在末尾添加一行 `/swapfile swap swap defaults 0 0`,保存并退出。这样系统在每次启动时会自动激活交换文件。 请注意,虚拟内存的使用可能会对系统性能产生一定影响。因此,在调整虚拟内存配置时需谨慎,并根据实际情况进行调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值