![### 引文如下 ###](https://linux22.com/image/1203028/%23%23%23%20%E5%BC%95%E6%96%87%E5%A6%82%E4%B8%8B%20%23%23%23.png)
昨晚,我正在用 Handbrake 转换电影。后台正在运行 steam 和 ubuntu 软件中心。当我醒来时,我看到一条消息“Ubuntu 遇到内部错误......”,并且 Handbrake 崩溃了。所以,我认为这是因为缺少交换内存(2GB 交换文件)。有人知道如何增加交换文件大小吗?(我的电脑有 4GB RAM)
答案1
我不会尝试逐字调整它的大小。也许这是可行的 - 也许 gparted 可以做到 - 但我想不出有什么理由要费心,而且直接创建一个新的会更快更简单。首先关闭当前的:swapoff -a 删除旧的,然后创建一个新的,大小随意,然后打开它。如果你给它相同的 /path/name,你甚至不需要更改 fstab,而且你将有效地(如果不是逐字地)扩大交换文件。Redhat 的某个人在这里:
写了这个(我引用是因为一些论坛不赞成通过引用合并,但是块引用按钮会弄乱格式,所以我正在编辑它以将其粘贴在纯文本中):
### 引文如下 ###
要添加交换文件:
确定新交换文件的大小(以兆字节为单位),然后乘以 1024 以确定块数。例如,64 MB 交换文件的块大小为 65536。
以 root 身份在 shell 提示符下输入以下命令,其中 count 等于所需的块大小:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
Change the persmissions of the newly created file:
chmod 0600 /swapfile
Setup the swap file with the command:
mkswap /swapfile
To enable the swap file immediately but not automatically at boot time:
swapon /swapfile
要在启动时启用它,请编辑 /etc/fstab 以包含以下条目:
/swapfile swap swap defaults 0 0
系统下次启动时,它会启用新的交换文件。
添加新的交换文件并启用它后,通过查看命令 cat /proc/swaps 或 free 的输出来验证它是否已启用。
### 引文结束 ###
如果您已经有一个交换文件,那么您可能已经知道其中的大部分内容。无论如何,我认为这几乎是对所提问题的字面回答。
但是,如果仅在这种情况下您需要更大的交换,并且这种情况并不经常发生,如果您的驱动器空间不足,您可以考虑,而不是替换您的交换文件,只需在需要之前创建并安装一个额外的交换文件即可。它们是累积的。您可以拥有任意数量。然后您可以在完成后卸载并删除它。
关于 Ravery 提到的交换文件与交换分区的问题,您阅读到的关于该主题的大部分内容都已过时。除非您的交换分区位于另一个驱动器上(也许我甚至应该说是另一个驱动器控制器),否则它不太可能比交换文件更快。而且它的灵活性肯定较低。除非它位于单独的驱动器上,否则我看不出还有什么理由再使用交换分区。