以下是个人在网络搜集到的较为容易理解的解释,若有不对或缺少之处,欢迎评论区纠正及补充,共同学习进步。谢谢!
swap是linux下的虚拟内存分区,作用是在物理内存使用完成之后,将磁盘空间(也即swap分区)虚拟成内存来使用。
swap和windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
swap分区能够作为“虚拟”的内存,但其速度比物理内存慢,因此若需要更快的速度的话,并不能寄厚望于swap,最好的办法是加大物理内存,swap分区只是临时的解决办法。
swap分区的合理值一般是内存的2倍左右,可适当加大。实际上具体以实际应用为准。
linux可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。
linux是一个树形文件系统,根分区是它的root节点,任何的目录,文件都会挂在根节点一下。swap分区是一个遗留,在原来内存比较小,不能满足需要。当内存资源不足的时候,linux就会把一些短期内不会用到的内存数据转储到磁盘上,以空出足够的空间。现在swap分区存在,但是实际上会很少使用到。不排除当启动内存消耗比较大的程序的时候,会使用它。现在swap分区还有一个用处,就是sleep on disk ,sleep可以在memory上也可以在disk。当在disk上时,也可以指定为swap分区。
boot 分区
早期为什么会分单独的boot分区?
在2000年左右那会儿,硬盘容量快速发展(实际上也就10G、20G),但是一部分旧式的BIOS还不支持LBA模式,不支持引导距离MBR太远的硬盘分区,现在的小朋友们根本无法想象吧!当时的 Linux 还是极少数 GNU 爱好者的玩具,一般都是作为第二系统和 Windows 共存,而且Linux在硬盘中的位置大都靠后。有时候因为安装的根分区距离MBR太远无法引导,于是流行在 C: 盘后面紧跟着建立一个100、200M的 “/boot” 分区,以防无法启动。
在现在的硬件条件下,完全没有必要划分boot分区,那只会带来麻烦,容量如果太小,会使你无法安装、升级新内核。现在实际上只需要一个根分区挂在“/”,一个HOME分区挂在“/home”,连 swap 分区都可有可无,因为完全可以用 swapfile 代替。
单独的HOME分区是为了保护你的个人文件安全,防止系统崩溃时丢失文件。
如果只是尝鲜的,只分一个30G的/分区就可以了,如果准备长期用的,应该单独分HOME分区,保护个人数据安全