linux系统设置虚拟内存

买了个2G内存入门服务器,高配服务器太贵…
内存不够用怎么办,设置虚拟内存缓解一下焦虑。

虚拟内存介绍

计算机内分为物理内存与虚拟内存。物理内存是计算机的实际内存大小,由RAM芯片组成。虚拟内存则是虚拟出来的、使用磁盘代替内存。虚拟内存的出现,让机器内存不够的情况得到部分解决。当程序运行起来由操作系统做具体虚拟内存到物理内存的替换和加载。

推荐大小

我这里选择的是4G虚拟内存

虚拟内存设置

创建并使用swap文件

1
2
3
4
5
6
7
8
9
10
11
# 创建swap文件
cd /usr
mkdir swap
# 其中bs是每块的大小,count是块的数量;bs * count 就是swap文件的大小:这里1M*4096=4G。可以根据需要自行调整。
dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096

# 将目标设置为swap分区文件
mkswap /usr/swap/swapfile

# 启用swap分区文件
swapon /usr/swap/swapfile

其中bs是每块的大小,count是块的数量;bs * count 就是swap文件的大小:这里1M*4096=4G。可以根据需要自行调整。

添加开机启动

使用下方指令编辑 fstab 文件

1
vim /etc/fstab

vim 基础用法见本文末尾参考资料。

按 i 键进入编辑模式

在文件末尾追加如下内容:

1
/usr/swap/swapfile swap swap defaults 0 0

如图所示

ESC + :wq 保存文件并退出 Vim 编辑器。

重启服务器

输入下方指令重启服务器

1
shutdown -r

1
reboot

输入下方指令查看内存使用情况

1
free -h

删除虚拟内存

停止开机启动

输入下方指令编辑 fstab 文件,并删掉先前追加的内容

1
vim /etc/fstab

按 i 键进入编辑模式

在文件末尾删除之前追加如下内容:

1
/usr/swap/swapfile swap swap defaults 0 0

ESC + :wq 保存文件并退出 Vim 编辑器。

停用并删除swap分区文件

1
2
3
4
# 停用
swapoff /usr/swap/swapfile
# 删除
rm -rf /usr/swap/swapfile

配置虚拟内存swappiness值

swappiness参数的取值范围是0~100,指的是使用swap空间的积极程度。

swappiness=0表示最大限度使用物理内存,swappiness=100表示积极使用swap分区。

ubuntu默认swappiness值是60。

查看swappiness值

1
$ cat /proc/sys/vm/swappiness

临时修改(重启失效)

1
$ sudo sysctl vm.swappiness=50

永久修改(重启生效)

修改配置文件/etc/sysctl.conf

1
$ sudo gedit /etc/sysctl.conf # 或用vim

在文档的最后加上: vm.swappiness=50

参考资料

https://blog.csdn.net/xyxyxyxyxyxyx/article/details/129170922
https://blog.csdn.net/qq_40371220/article/details/125223115
https://www.runoob.com/linux/linux-vim.html
https://zhuanlan.zhihu.com/p/600750318


linux系统设置虚拟内存
http://example.com/20240229-linux系统设置虚拟内存/
作者
csorz
发布于
2024年2月29日
许可协议