yamanogi-bky

博客园 首页 新随笔 联系 订阅 管理

记录如何增加虚拟内存【使用存储空间换运行内存】

01、新建文件夹,待放置交换空间文件,并进入

mkdir -p /usr/swapfile && cd /usr/swapfile/

02、创建交换文件

bs ==> 文件大小,可用G/M为单位,例如1G/1M

count ==> 内容大小

  如用“bs=1G”,则4G大小写作“bs=1G count=4”

  如用“bs=1M”,则4G大小写作“bs=1G count=4096”(4*1024)

dd if=/dev/zero of=swapfile bs=1G count=4

[root@gitlab swapfile]# dd if=/dev/zero of=swapfile bs=1G count=4
记录了4+0 的读入
记录了4+0 的写出

03、赋予交换文件权限600

chmod 600 swapfile

04、编译交换文件

mkswap swapfile

[root@gitlab swapfile]# mkswap swapfile
正在设置交换空间版本 1,大小 = 4194300 KiB
无标签,UUID=fab1ee83-9ca0-4aee-adcb-e9102d3a11e8

05、启用虚拟内存

swapon swapfile

06、查看当前内存空间,可见swap内存增加4GB空闲内存

【此时是临时增加内存,如果无需持久化,则到此结束】

free -m

[root@gitlab swapfile]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3774        2946         123          29         705         434
Swap:          6143        1795        4348

07、增加内存持久化,编辑/etc/fstab,仅需增加最后一行,红字路径为刚刚创建的交换文件

/usr/swapfile/swapfile none swap defaults 0 0】

vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Oct 23 11:48:38 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aae8043d-2d93-4027-8527-238d5e757db6 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/usr/swapfile/swapfile none swap defaults 0 0

08、查看持久化虚拟内存

swapon --show

[root@gitlab swapfile]# swapon --show
NAME                   TYPE      SIZE USED PRIO
/dev/dm-1              partition   2G 1.8G   -1
/usr/swapfile/swapfile file        4G   0B   -2


记录如何修改虚拟内存使用占比

09、虚拟内存与真实内存使用占比查看(centos系统)

我的版本默认是30

cat /proc/sys/vm/swappiness

[root@gitlab swapfile]# cat /proc/sys/vm/swappiness
30

10、如果想修改虚拟内存的使用占比,修改方式如下

  ①临时修改,如改为10,无需重启

sysctl vm.swappiness=10

  ②永久修改,增加配置行,生效需要重启系统

vim /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

vm.swappiness=60



如下为全部操作的全流程

[root@gitlab ~]# mkdir -p /usr/swapfile
[root@gitlab ~]# cd /usr/swapfile/
[root@gitlab swapfile]# dd if=/dev/zero of=swapfile bs=1G count=4
记录了4+0 的读入
记录了4+0 的写出
4294967296字节(4.3 GB)已复制,36.7712 秒,117 MB/秒
[root@gitlab swapfile]# chmod 600 swapfile
[root@gitlab swapfile]# mkswap swapfile
正在设置交换空间版本 1,大小 = 4194300 KiB
无标签,UUID=fab1ee83-9ca0-4aee-adcb-e9102d3a11e8
[root@gitlab swapfile]# swapon swapfile
[root@gitlab swapfile]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3774        2946         123          29         705         434
Swap:          6143        1795        4348
[root@gitlab swapfile]# vim /etc/fstab
[root@gitlab swapfile]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Oct 23 11:48:38 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aae8043d-2d93-4027-8527-238d5e757db6 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/usr/swapfile/swapfile none swap defaults 0 0
[root@gitlab swapfile]# swapon --show
NAME                   TYPE      SIZE USED PRIO
/dev/dm-1              partition   2G 1.8G   -1
/usr/swapfile/swapfile file        4G   0B   -2
[root@gitlab swapfile]# 

 

posted on 2024-11-13 09:31  YamaNogi  阅读(1)  评论(0编辑  收藏  举报