首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交换设置的最小安全值是多少?

交换设置的最小安全值是多少?
EN

Ask Ubuntu用户
提问于 2017-08-04 23:23:32
回答 3查看 12.9K关注 0票数 3

我希望将swapiness设置为最小值,这样Ubuntu16.04仍然可以运行而不会崩溃。我怎么能这么做?

下面是ls -alt /var/crash的输出:

代码语言:javascript
复制
drwxrwsrwt  2 root whoopsie    4096 Jul 26 14:12 .
-rw-r--r--  1 root whoopsie    1928 Jul 26 14:12 virtualbox-4.3.0.crash
-rw-r-----  1 some_user   whoopsie 3978513 Jul 26 14:02 _usr_bin_compiz.1000.crash
drwxr-xr-x 15 root root        4096 Aug  8  2016 ..
EN

回答 3

Ask Ubuntu用户

发布于 2017-08-04 23:33:02

这取决于你的Ubuntu有多少物理内存,我们可以问问我们自己,当我有很多内存时,我为什么要使用一个很高的交换值?

您也可以进行实验,看看什么是对您的情况最好的,但我不建议您禁用交换使用"0",使用"10“之类的东西来提高性能。如果你想要接近"0“的东西,那就跟"1”一起去。

数字是如何工作的,

参数值设置为“60”意味着当RAM容量达到40%时,内核将交换。将其设置为“100”意味着内核将尝试交换所有内容。将其设置为10 (就像我在本教程中所做的那样)意味着,当RAM已满90%时,将使用交换。[1]

换句话说,"60“意味着当剩下60%的内存时开始交换。

0和1

“1”是最小可能的“主动交换”设置,而“0”意味着完全禁用交换,只有当RAM完全填充时才恢复。[1]

recommendations?

这是一篇好文章阅读包括建议。

票数 9
EN

Ask Ubuntu用户

发布于 2017-08-05 01:34:04

你的问题没有真正的答案,就像“视情况而定”一样。

交换并不真正直接影响性能,这取决于您正在做什么。

一般来说,您的内核已经为性能进行了优化,并且不太可能通过调整值来获得任何性能。

关于交换,问题是您有多少RAM,使用多少?

如果您使用更多的ram,那么您将使用交换,您将受到性能的影响。但是,如果您没有可用的交换空间,并且耗尽了RAM,您的程序将崩溃或锁定,或者您将丢失数据,很难说。

如果您由于交换而受到性能影响,则解决方案是购买更多的RAM,而不是禁用交换。

性能可能会受到显卡或其他硬件的影响,包括性能较差的无线驱动程序(或任何内核驱动程序)。

要调试您的性能问题,我们需要知道您的硬件,您正在做什么,什么使您认为您有一个性能问题,并可能基准测试之前和之后,您的调整,以交换或其他。

在我的系统中,我有4GB的内存,并且具有正常的桌面活动,例如运行浏览器、文字处理、电子邮件等,我从不耗尽RAM。

代码语言:javascript
复制
bodhi@daemon:~$free -m
              total        used        free      shared  buff/cache   available
Mem:           5403        2558         739          77        2106        2398
Swap:             0           0           0

实际上,我甚至没有使用交换分区。

但是,如果我想启动一个虚拟机,并给它1GB的RAM,你肯定我需要交换,所以在这种情况下,我挂载了交换分区。

在我的大型服务器上,我运行多台虚拟机,但我有16 Gb内存。用我所有的VM,我时不时地点击交换,但不多。当然,最好是使用交换,然后发生VM崩溃。

所以这取决于..。服务器端,我碰到了我的交换,以至于VM的性能很慢--我会购买更多的RAM。桌面端,我只是不需要运行足够的VM来证明购买更多的RAM是合理的。个人选择。

你需要分析你的用法并做出你自己的选择。在这一点上,我们甚至不知道与其他问题相比,交换限制了多少或有多少。如果您有足够的RAM,不要使用交换,然后它是一个没有问题。

票数 3
EN

Ask Ubuntu用户

发布于 2017-08-05 04:50:34

Ubuntu不会与swappiness=1崩溃,因为它仍然将使用交换文件,只是不惜一切代价避免它。

与合理的交换相比,它实际上会降低性能。

事实上,1的交换值将使ubuntu不被交换,直到最后可能的时刻。这意味着当启动具有几乎满内存的新应用程序时,会出现延迟和可能崩溃。因为它需要一次大量的交换来适应新的应用程序。然后,在内存完全满的情况下,每一个页面的丢失都会导致一个新的页面被交换,可能第二次会有多次性能下降。

ubuntu首先交换的东西是未使用的代码(app entrypoint)和缓存的文件,它们需要“在内存中”,但可能永远不会再被访问,因此强制这种行为是完全不必要的。

内核非常擅长管理它的内存,如果您正在使用默认设置进行交换,您应该购买更多的RAM或运行更少的东西。

另一方面,它在不需要交换的情况下运行在嵌入式系统上很常见。与其搅乱交换,你应该彻底消除交换文件/分区,让自己相信它没有那么好。

如果内存不足,消除交换只会阻止应用程序的启动。这在某些情况下可能是可取的。

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

https://askubuntu.com/questions/943165

复制
相关文章

相似问题

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