配置交换
第1部分。设置交换性。这可能是根据degusa的回答,但可能相反,并且当它生效时会产生更大的影响。
当我们有足够的RAM时,我们当中的一些人会很乐意加入其中。通常,内核和应用程序直接使用其中的一小部分,其中一些(如果您使用其他调整来提高性能,例如在内存中安装/ tmp,则可能会大量使用)用于ramfs和tmpfs,以及gigs和gigs被用作磁盘缓存,以使我们的文件访问速度更快。
在这种情况下,一旦包括缓存在内的总使用内存变高,并且应用程序需要更多的RAM,Linux必须决定是从文件系统中获取某些缓存还是换出到交换分区/文件。
由于我们有大量的RAM,并且很可能根本就不关心交换,因此我们可以启用休眠模式,因此我们希望它倾向于使用一些丰富的缓存,因此需要低交换性。如果我们不希望能够休眠,那么甚至可能会发现这样的高RAM机器根本不需要交换。
另一种情况是RAM较低的人在一些繁重的应用程序之间切换,并在每个应用程序上花费了合理的时间。想象一下,一个网络开发人员花一些时间在IDE上,一些时间在图形编辑器上,一些时间在他们选择的浏览器上,在其他一些浏览器上花费一些时间来检查兼容性问题,并且可能每小时在邮件客户端上花费5分钟。他们还可能通过读写操作反复打相同的文件,因此从文件缓存中受益匪浅。这个人可能会受益于Linux,因为他们更愿意交换他们当前未处于活动状态的任何繁重应用程序所使用的内存,因此对于他们而言,swappiness应该更高。
对于他们来说,最好的设置不仅可能比最常见的建议要高,而且与总是有演出余地的人相比,他们可能会注意到更多。
第2部分。分区的优先级和数量。
每个交换分区都有一个优先级,而linux会优先使用最高优先级。如果未在/ etc / fstab中设置,则将从-1开始将其视为负值(显式设置在0到32767之间,因此-1低于任何显式设置),并在fstab中按顺序继续到-2,- 3,依此类推。
最佳设置取决于分区的物理位置。如果您只有一个,那么没关系(但是也许您应该有多个,所以请继续阅读)。
如果您在同一物理驱动器上有两个或更多,则它们应具有不同的优先级,这样它就不会尝试使用需要在它们之间进行搜索的两个分区(有人知道是否会自动避免吗?)。默认值很好。无论如何,在同一个驱动器上进行两次交换可能不是一个好主意,但是如果您创建了一个交换,然后又决定以后需要进行更多交换(例如添加更多的RAM),则可能会发生这种情况。
如果在两个或多个物理驱动器上有两个或多个速度大约相等,则将它们设置为相同的优先级将意味着linux将同时使用它们,这将提供更好的性能,其原因类似于RAID或只需确保两个驱动器上都有经常使用的文件-工作将在两个驱动器之间进行拆分。
如果您有两个或两个以上等速的物理驱动器,但仅交换一个,则出于上述原因,也许应该更改它。
如果您有两个或更多个速度非常不同的物理驱动器,那么通常您希望最快的驱动器具有比慢速驱动器更高的优先级,因此首先使用它。您甚至可能不想在较慢的驱动器上进行任何交换,但是如果您在快速但较小的驱动器上进行了小的交换以进行快速交换,而在较慢的驱动器上进行了较大的交换,则可能有道理,因此您有足够的空间来冬眠
如果两者中速度较快的是SSD,那么有两种方案各有优缺点:
- 为了提高速度,最高优先级(或可能仅交换)在SSD上。
- 仅在非SSD上进行交换,以减少对SSD的写入,从而延长其使用寿命。
如果您真的只有交换才能进行休眠,否则第二号可能是您最好的选择;否则,大量的RAM意味着您并不需要它(如果您在SSD上花钱,则应该将其花在RAM上)也是如此),除非您可能是一个启动速度狂热者,但他希望以一种可以炫耀您幻想的高规格装备的速度从休眠状态启动!否则,速度与SSD寿命之间的平衡才是关键。
如果您有一个仅用于交换的驱动器,以便不与其他文件I / O竞争,那么您大概是性能的核心,并且比我更了解这方面的知识,并且仅在阅读此书以了解我是否哪里不对了!