Ubuntu 设置虚拟内存

虚拟内存(交换空间)可以帮助在物理内存不足时,系统仍然能够正常运行。

1. 检查现有交换空间

首先,检查系统是否已经配置了交换空间:

sudo swapon --show

如果没有任何输出,说明当前没有启用交换空间。

2. 创建交换文件

可以通过创建一个交换文件来增加虚拟内存。以下是创建 6GB 交换文件的步骤:

2.1 创建交换文件

使用 dd 命令创建一个 6GB 的文件:

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

出现 Killed 错误,通常是因为系统内存不足,导致内核终止了该进程。这是因为 dd 命令在创建大文件时会占用大量内存,而系统内存不足以支持该操作。
将 bs=1G 改为更小的块大小(如 1M),以减少内存占用。

sudo dd if=/dev/zero of=/swapfile bs=1M count=6144

bs=1M:每次写入 1MB 数据
count=6144:写入 6144 次,总共 6GB(1MB * 6144 = 6GB)

这将创建一个名为 /swapfile 的文件,大小为 6GB。

2.2 设置正确的权限

为了安全起见,设置交换文件的权限,确保只有 root 用户可以读写:

sudo chmod 600 /swapfile

2.3 将文件设置为交换空间

使用 mkswap 命令将文件格式化为交换空间:

sudo mkswap /swapfile

2.4 启用交换文件

启用刚刚创建的交换文件:

sudo swapon /swapfile

2.5 验证交换空间

再次检查交换空间是否已启用:

sudo swapon --show

可以看到 /swapfile 被列出来。

3. 永久生效

为了让交换文件在系统重启后仍然有效,需要将其添加到 /etc/fstab 文件中。

3.1 编辑 /etc/fstab

使用文本编辑器打开 /etc/fstab 文件:

sudo vi /etc/fstab

3.2 添加交换文件条目

在文件末尾添加以下内容:

/swapfile none swap sw 0 0

保存并退出编辑器。

4. 调整交换空间的优先级(可选)

如果你有多个交换空间,可以通过调整优先级来控制它们的使用顺序。默认情况下,交换文件的优先级为 -2。你可以通过以下命令设置优先级:

sudo swapon --priority 10 /swapfile

5. 验证设置

最后,验证交换空间是否已正确设置:

free -h

其中 Swap 行显示了你刚刚设置的 6GB 交换空间:

6. 调整交换性(可选)

交换性(Swappiness)是一个内核参数,用于控制系统使用交换空间的倾向。默认值为 60,范围是 0100。值越高,系统越倾向于使用交换空间。

可以通过以下命令查看当前交换性:

cat /proc/sys/vm/swappiness

如果想调整交换性,可以编辑 /etc/sysctl.conf 文件:

sudo vi /etc/sysctl.conf

添加或修改以下行:

vm.swappiness=10

保存并退出编辑器,然后应用更改:

sudo sysctl -p
posted @   漫漫长夜何时休  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示