根据手册页面的内容......我知道什么是锁定内存(mlock,mlockall),但老实说,我不明白钉住内存的概念,它和锁定内存有什么不同。
* VmLck: Locked memory size (see mlock(3)).
* VmPin: Pinned memory size (since Linux 3.2).
These are pages that can't be moved because something needs
to directly access physical memory.
我知道什么是锁定内存(mlock, mlockall),但老实说,我不明白pinned内存的概念,以及它与锁定内存有什么不同。
谁能举个例子解释一下?
经过一番研究,我现在可以回答自己的问题了,希望对以后的游客有所帮助。
锁定的内存是永远不会被换出主内存的。这意味着锁定在物理内存中的页面可以保证一直存在于RAM中。但是,并不能保证页面故障永远不会发生,因为内核仍然可以自由地在物理内存中移动页面。
pinned内存是一个锁定的内存,它被钉在一个特定的页框位置。这意味着被钉住的页面既不能从主内存中换出,也不能在物理内存中移动,因此它保证了页面故障永远不会发生。这是对硬实时应用的理想要求。
阅读更多信息。https:/lwn.netArticles600502