Linux过度使用内存


12

我一直在研究在Linux中使用的内存过度使用/proc/sys/vm/overcommit_memory,我读过一些不说同样内容的文章。

这个文档在“走向错误的方向”的标题下继续说,“值1:做过度使用,0(默认):不要”,但接下来的几行,它提到,在类似的事实上,这实际上并不正确,而0意味着“猜测过度承诺是多么合理”。这意味着,内存过量使用使用值0,正确的禁用?

它还表示1表示“永远不会拒绝任何malloc()”,其中2表示“确切地说是过度使用 - 永远不会提交大于交换空间的虚拟地址空间加上物理内存的分数overcommit_ratio”。

另一方面,Red Hat杂志指出,“如果值为0,则内核检查以确定是否有足够的内存可以释放来自应用程序的malloc调用的内存请求。如果有足够的内存,那么请求被授予。否则,它被拒绝并且错误代码被返回给应用程序。“ 听起来就像禁用过度使用。

“如果该值设置为1,则内核授予的分配高于物理RAM的数量,并在系统中交换,如overcommit_ratio值所定义....如果此文件中的设置为2,则内核允许所有内存分配,无论当前的内存分配状态如何。“ 就值1和2而言,这与之前的文档所说的相反,对吧?

有谁知道什么是真正的正确,如果有可能'禁用'过度使用?


忘了这一个!对于那个很抱歉。
Doddy 2016年

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.