我最近在笔记本上安装了 Ubuntu 10.04。由于 SSD 空间有限,我没有为操作系统设置交换分区,而且我的 RAM 为 1.5GB。
安装过程中出现警告,但我认为这没什么大不了的,因为一切都很顺利。
从长远来看,没有交换分区会有什么缺点吗?
答案1
我想,如果我要回答这个问题,我必须先在这里稍微解释一下整个交换文件的事情。请原谅我的长篇大论。
交换文件/交换分区类似于 Windows 中的页面文件,是专用于促进更好利用内存的硬盘空间。交换空间有两种用途。
当没有足够的内存供所有应用程序使用时(这种情况发生在没有交换空间的系统中),将导致无法为请求新内存页的新应用程序分配内存 - 这通常会导致程序终止。
如果一些内存页面(内存被划分为“页面”)以前使用过,但现在不再使用,那么这些页面将被转移到交换文件上,剩余的内存可用于执行其他更有用的操作(例如,缓存!) - 当这种情况发生在没有交换空间的系统中时,将导致空闲页面停留在内存中。不过,这并不是什么大问题,因为我们现在的内存量相当大。
然后,现在我们列出了交换文件/交换分区的用途,通常建议多少? - 这取决于机器的功能。 如果是台式机,请将其设置为 1-1.5 倍内存。 如果是服务器机器,请执行相同操作,但请注意交换使用情况,如果使用频繁,请升级内存。
正如其他人指出的那样,gparted 可以帮助您从 ext2/ext3 分区中划出几 GB 的空间,但您也可以使用交换文件:
dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile
你应该有
swapfile none swap sw 0 0
确保fstab
每次重启时都使用它
还有一件事:如果您不介意有交换空间,但确实想尽量减少使用,除非您的内存真的用完了,您可以通过更改/proc/sys/vm/swappiness
(值,0-100;默认值,60)来更改内核的“交换性”。
答案2
无暂停至磁盘。
答案3
如果内存不足,程序可能会出现不可预测的行为。有时内核会开始在随机位置丢弃内存。内核将开始丢弃低优先级进程。
没有虚拟内存可能会带来大麻烦,尤其是如果它开始减少内存并终止正在处理的低优先级的重要文档。
答案4
虽然这不是一个完整的答案,但这里有一个故事,它真正地攻击了我,即使我认为我已经控制了所有可能的不利因素:
https://stackoverflow.com/questions/4567972/error-executing-aapt-all-of-the-sudden 总而言之,一些从非常大的 Java 进程/应用程序运行的工具将无法始终运行。然而,大多数普通用户不会遇到这种情况。