Writing a node number to /proc/sys/vm/compact_node, causing compaction to happen on the indicated NUMA node.
我应该何时将节点号写入sys条目?我的意思是我应该检测或读取什么,然后将节点写入sys条目?什么应该是我的标准,如何在写入sys条目之前测量该标准?
(…) The other is for the system to fail in an attempt to allocate a higher-order page; in this case, compaction will run as a preferable alternative to freeing pages through direct reclaim. In the absence of an explicit trigger, the compaction algorithm will stay idle; there is a cost to moving pages around which is best avoided if it is not needed.
允许系统失败意味着什么?以什么方式失败?怎么样
我可以检测到失败吗?失败是否意味着分配更高阶页面的简单请求被拒绝了?在这种情况下,压缩算法是自动运行的吗?
我的要求:我想通过了解系统中的系统状态和内存碎片来触发内存压缩.我想知道压实在实际运行之前会有所帮助.
解决方法:
大多数情况下,内核内部内存分配的大小小于页面大小,或者只能在虚拟内存中而不是在实际内存中快乐地连续.本文所说的是,如果更高阶的页面分配失败(即,内核要求在实际内存中连续存取几个页面),则会自动触发压缩.这很不寻常,所以不应该经常发生.
除非您需要内核具有可用的连续页面,并且测量结果表明这对于您的工作负载而言性能至关重要(或至少相关),否则最好不要让手指离开.
标签:linux,memory,linux-kernel
来源: https://codeday.me/bug/20190815/1659629.html