Sun Blog

Back

服务器虚拟内存启动!小鸡轻松化身大盘鸡Blur image

服务器的内存资源是十分昂贵的,我们在使用服务器运行程序时,经常遇到内存不足,运行崩溃的情况。为了减少购买昂贵的内存资源,又能流畅的运行程序,可以使用虚拟内存来代替。

简单来说,虚拟内存就是操作系统在硬盘上为程序设置的一块“伪内存”,它允许我们假装自己的服务器拥有的物理内存远超于实际情况。当物理内存不够用时,操作系统就会调用虚拟内存,把一些不常用的数据暂时存储到硬盘上去,释放出物理内存空间给予新的数据。

一般来说,服务器都没有开启虚拟内存,需要我们手动开启,本文就教大家如何开启虚拟内存,让小鸡轻松化身大盘鸡!

创建 swap 文件#

1.在用户目录下创建 swap 文件夹,并进入该文件夹#

mkdir swap
cd swap
shell

2. 创建 swapfile 文件#

dd if=/dev/zero of=/用户目录/swap/swapfile bs=1M count=4096
shell

dd是一个用于复制文件的命令, if用于指定输入文件,of用于指定输出文件, /dev/zero 是一个特殊的设备文件,会不断产生字节值为 0 的数据,bs=1M 指定了每次读取或写入的数据块大小为 1M 字节,count=4096 指定了要复制的块数。

这行命令创建了一个大小为 4096M 字节的交换文件。

输出:

记录了4096+0的读入
记录了4096+0的写出
4294967296字节(4.3 GB)已复制,15.7479 秒,273 MB/秒
shell

swapfile 设置为 swap 分区文件#

1.设置文件权限#

chmod 0600 swapfile
shell

修改 swapfile 文件的权限为 0600 即允许文件所有者读写。

2.设置 swap 分区文件#

mkswap swapfile
shell

swapfile 设置为 swap 分区文件

激活 swap 区并启用交换区文件#

1.激活 swap 区#

swapon swapfile
shell

2.查看现有内存#

free -m
shell

使用上述命令可以查看现在的内存,可以看到里面的 swap 分区变成了 4095M,也就是 4G 内存。

设置开机自动启动虚拟内存#

打开 /etc/fstab 文件,在文件中加入如下内容

/用户目录/swap/swapfile swap swap defaults 0 0
shell
服务器虚拟内存启动!小鸡轻松化身大盘鸡
https://blog.csun.site/blog/2024-01-27-server-virtual-memory-launch-chicken-dish
Author Sun Xin
Published at January 27, 2024
Comment seems to stuck. Try to refresh?✨