首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Linux使用交换分区而不是文件?

为什么Linux使用交换分区而不是文件?
EN

Unix & Linux用户
提问于 2010-09-18 15:34:40
回答 5查看 15.9K关注 0票数 34

在我看来,交换文件更灵活。

EN

回答 5

Unix & Linux用户

回答已采纳

发布于 2010-09-18 16:29:10

交换文件比交换分区更灵活,但也更容易出错。文件系统错误可能损坏交换文件。交换文件对管理员来说很痛苦,因为文件不能被移动或删除。交换文件不能用于休眠。交换文件在过去稍微慢一些,尽管现在的差别是可以忽略不计的。

交换文件的优点是不必事先决定大小。但是,在Linux下,仍然不能在线调整交换文件的大小:必须取消注册,调整大小,然后重新注册(或者创建不同的文件并删除旧的文件)。因此,与交换分区相比,Linux下的交换文件没有多大好处。当您暂时需要更多的虚拟内存时,它主要是有用的,而不是作为一个永久的固定设备。

票数 35
EN

Unix & Linux用户

发布于 2010-09-18 15:55:27

交换分区是首选的,因为它避免了对文件系统的依赖,而您只需要一个可寻址的内存池。

但是,没有什么可以阻止您使用交换文件而不是交换分区,或者除了交换分区之外。

  • 创建文件: dd =/dev/零of=/extraswap bs=1M count=512
  • 初始化文件内容: mkswap /extraswap
  • 使用它: swapon /extraswap
  • 查看它是否有效:免费-m

为了总是在启动时开始使用swapfile,编辑/etc/fstab并添加

代码语言:javascript
复制
/extraswap           swap          swap    defaults    0 0

1

票数 29
EN

Unix & Linux用户

发布于 2017-07-19 18:04:07

主要原因可能是主内核挂起磁盘不能处理交换文件。例如,如果需要的话,Debian wiki指令就是安装uswsusp

最近,如果文件系统是btrfs,交换文件就不能工作,所以发行版总是将交换创建为分区是最简单的。

人们含糊地提到,在内核版本2.6之前,使用文件进行交换可能比分区的性能要低。https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/2207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档