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
,范围是 0
到 100
。值越高,系统越倾向于使用交换空间。
可以通过以下命令查看当前交换性:
cat /proc/sys/vm/swappiness
如果想调整交换性,可以编辑 /etc/sysctl.conf
文件:
sudo vi /etc/sysctl.conf
添加或修改以下行:
vm.swappiness=10
保存并退出编辑器,然后应用更改:
sudo sysctl -p
本文来自博客园,作者:漫漫长夜何时休,转载请注明原文链接:https://www.cnblogs.com/ag-chen/p/18678069
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)