如果你准备在硬盘里只安装Ubuntu一个操作系统的话,建议你采用
一个“/”、
一个“swap”、
“/home”、
的三分区方案:
1 :“/”分区。用于存储系统文件。类似window下面的c盘,装系统文件。
看到网上有人5GB装完占用80%;所以系统文件大概4GB左右,但是那是11年左右的,后面有人建议大于10个GB,到20GB左 右,又有人说如果需要玩游戏就加大到50GB,所以我综上,不玩游戏,取个中间值25GB,因为我主要是用于开发工作,也不怕浪费磁盘空间,就多个5GB,将"/"分区直接分30GB,又不怕小,也不在乎这5GB.
2:“swap”分区。交货空间百度百科-Swap分区
Swap分区在系统的[物理内存]不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
前一段时间,我们机房中一台Linux服务器运行缓慢,系统服务出现间歇性停止响应,让我过去处理一下这一问题,登录到服务器之后,发现此服务器的物理内存是16G,而最初装机的时候,系统管理人员却只分配了4G的虚拟内存。查看内存的使用状况,物理内存并没有完全耗尽,但虚拟内存已经耗尽,整个系统CPU负载和磁盘IO都非常高。
知道了问题所在是由于交换分区不足导致,那么解决方法就是:将虚拟内存通过虚拟文件的方式增加到16G,系统运行状况明显好转。其实虚拟内存并不是等到物理内存用尽了才使用的,是否尽量的使用或不使用swap,在内核空间有一个参数控制。
swappiness=0 的时候表示最大限度使用物理内存,然后才是swap空间;swappiness=100 的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。对于现在动辄几十GB、上百GB物理内存的服务器来说,究竟为其Linux系统设置多大的交换分区合适呢?为此,我引用红帽官方里的一段文字进行简单说明一下,嘿嘿。
目前红帽官方推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系,不过在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍,如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB。其原因在于,系统中的物理内存越大, 对于内存的负荷可能也越大。但是,如果物理内存大小扩展到数百GB,这样做就没什么意义了,大家说对吧!
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。Red Hat Enterprise Linux 可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时,系统内核只会回收利用这些pagecache内存。
考虑到以下情况:
1)安装系统时难以确定内存的负荷,如何设置交换分区大小
2)系统中物理内存越大,所需交换分区就会越少
因此,在Red Hat Enterprise Linux 中,以下是设置合适的交换分区大小的规则:
物理内存 | 交换分区(SWAP) |
---|---|
<= 4G | 至少4G |
4~16G | 至少8G |
16G~64G | 至少16G |
64G~256G | 至少32G |
注:
1.但我们平时安装系统时,默认都分内存的2倍,因为现在有硬盘空间都很大,也不在乎那几十G的空间,嘿嘿!(其实也是为了省事)
2.其它操作系统也是类似。
3:"home"分区。就是你自己存放文件用的。
这个分区没什么说的,你分区完了。剩下的都给home就行了。
我们来聊一下其他的/boot,/var,/tmp等分区有没有必要。
1:/boot
仅对于不知道怎么分区的用户而言,高级用户应该明白自己需要什么,例如确定自己使用的BIOS可能无法读取100GB后的位置或是要使用LVM等。 Linux社区的一个问题是,很多老旧的资料还在网上传来传去。其中一些真的需要更新了,例如给/boot专门分一个100MB的分区这种做法。 曾经给/boot一个很小的分区是有十分充足的理由的,因为在二十几年前,BIOS只能认一个1024柱面的硬盘,如果启动文件放在0-1023(从0开始数,共1024个柱面)之外,BIOS就无法读取启动所需的文件,从而无法启动。为了兼容这种BIOS,就需要在磁盘前端分出一个小分区专门来存储启动文件。 但是现在,应该是找不到那么古老的主板了,即使能找到,也无法安装现在的linux了。 100MB的boot分区,有什么害处呢? 太小了,放不下现在启动所需的文件了。现在的linux,留下两个内核是很正常的,如果新内核有什么问题,还可以用老内核。这台机器上现在有两个版本的linux内核(3.13.0-85 和 4.4.0.21),一共多大呢? 代码: ls -al –block-size=M /boot total 98M 看上去两个内核100MB勉强够用,但是现在的启动文件是越来越大的,例如3.13的initrd是29M,但4.4的initrd有35M,下一次升级内核,100MB就不够用了。 另外在Debian系的Linux发行版上,还有另一个问题,老旧的内核不会被自动清除。上次手动清理冗余内核的时候,/boot已经达到了700+MB。/boot分区满了,内核就无法安装,引发问题。 所以,不要划分/boot分区。 另外,使用gpt的硬盘那个EFI system partition不是boot分区,不要搞混了。
2:/tmp分区
用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。
3:/usr分区
是 Linux系统存放软件的地方,如有可能应将最大空间分给它.如果你分了home,我觉得没必要留下这个分区。
4:/var/log分区
是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。
最后说一下我自己的分区,128固态。30GB“/”,16GB“swap”,剩下的全部给”/home"
以上资料来自互联网整理。如果有侵权请告知删除,另外有不同看法,欢迎下面留言、交流。