大家好,我是小鱼,今晚在社区后台查看了一下总用户数,因为没有做分页读取,所以直接请求了后台所有用户信息,加上服务器的内存本来就不太够,结果服务器直接死机了,小鱼被迫报道某鹅云,重启了服务器。这个事情让小鱼想起来之前编译ROS2的源码,自己的电脑内存不够就添加交换空间(虚拟内存)来用,鉴于服务器的费用,小鱼选择了添加虚拟内存,直接在磁盘上创建一个交换文件,大小就给了8G,暂时够用了。具体方法分享给大家。
在Linux中,要手动创建一个8GB的交换空间(swap space),通常是在分区或文件上创建的。直接在/root/.swap
这样的路径下创建交换空间是不常见的,因为交换空间通常是一个独立的设备或文件,而/root
目录主要用于存储root用户的文件。
但如果你想在/root
目录下创建一个交换文件并用作交换空间,可以按照以下步骤操作:
- 创建一个交换文件
使用dd
命令在/root
目录下创建一个8GB大小的文件:
sudo dd if=/dev/zero of=/root/.swap bs=1G count=8
这将创建一个名为.swap
的8GB大小的文件在/root
目录下。
- 设置交换文件权限
确保root用户有权限读写该文件:
sudo chmod 600 /root/.swap
- 设置交换空间
使用mkswap
命令将文件转换为交换空间:
sudo mkswap /root/.swap
- 启用交换空间
使用swapon
命令启用新创建的交换空间:
sudo swapon /root/.swap
- 检查交换空间
使用swapon --show
或free -h
命令检查交换空间是否已启用:
swapon --show
# 或
free -h
- 永久启用交换空间
为了让系统在启动时自动启用这个交换空间,你需要编辑/etc/fstab
文件。在文件的末尾添加以下行:
/root/.swap swap swap defaults 0 0
保存并关闭文件。
注意:在生产环境中,通常不建议在/root
目录下创建交换空间。更常见的做法是在专门的分区或独立的文件上创建交换空间,并确保它们位于持久存储上,而不是在可能会丢失数据的临时存储上。此外,创建和管理交换空间通常需要root权限,因此请确保你了解你正在执行的操作,并始终谨慎行事。