### 引文如下 ###

### 引文如下 ###

昨晚,我正在用 Handbrake 转换电影。后台正在运行 steam 和 ubuntu 软件中心。当我醒来时,我看到一条消息“Ubuntu 遇到内部错误......”,并且 Handbrake 崩溃了。所以,我认为这是因为缺少交换内存(2GB 交换文件)。有人知道如何增加交换文件大小吗?(我的电脑有 4GB RAM)

答案1

我不会尝试逐字调整它的大小。也许这是可行的 - 也许 gparted 可以做到 - 但我想不出有什么理由要费心,而且直接创建一个新的会更快更简单。首先关闭当前的:swapoff -a 删除旧的,然后创建一个新的,大小随意,然后打开它。如果你给它相同的 /path/name,你甚至不需要更改 fstab,而且你将有效地(如果不是逐字地)扩大交换文件。Redhat 的某个人在这里:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s2-swap-creating-file.html

写了这个(我引用是因为一些论坛不赞成通过引用合并,但是块引用按钮会弄乱格式,所以我正在编辑它以将其粘贴在纯文本中):

### 引文如下 ###

要添加交换文件:

确定新交换文件的大小(以兆字节为单位),然后乘以 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 提到的交换文件与交换分区的问题,您阅读到的关于该主题的大部分内容都已过时。除非您的交换分区位于另一个驱动器上(也许我甚至应该说是另一个驱动器控制器),否则它不太可能比交换文件更快。而且它的灵活性肯定较低。除非它位于单独的驱动器上,否则我看不出还有什么理由再使用交换分区。

相关内容