如果我剩下大量RAM,会发生记忆分页

Will memory paging occur if I have plenty of RAM left?

本文关键字:记忆 分页 RAM 如果      更新时间:2023-10-16

我正在编写一个高性能服务器应用程序(在Linux上),我正在尝试获得快速关键路径。我担心记忆分页并在操作过程中将内存换成磁盘(按毫秒的延迟)。

我的问题是,我的服务器上有很多内存(例如16GB),并且我的内存利用率停留在6-10GB左右,我知道同一框上没有其他进程。启动申请后,我可以保证不要让页面错过吗?

这是不能保证的。Linux的默认行为有时是使用RAM来缓存文件,这可以改善某些工作流程的性能。这意味着有时即使不使用内存,也会将内存页面交换。

您可以使用Mlock/Mlockall将过程的页面锁定在内存中。有关更多信息,请参见man 2 mlock