Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个高性能服务器应用程序(在 Linux 上),我正在尝试获得一条快速的关键路径。我担心在我的操作过程中内存分页和内存交换到磁盘(延迟毫秒级)。
我的问题是,如果我在服务器上有很多内存(比如 16GB)并且我的内存利用率保持在 6-10GB 左右,而且我知道同一个盒子上没有其他进程。应用启动暖机后能否保证不漏页?
这不能保证。Linux 的默认行为是有时使用 RAM 来缓存文件,这可以提高某些工作流程的性能。这意味着有时即使内存未全部使用,内存页也会被换出。
您可以使用 mlock/mlockall 将进程的页面锁定在内存中。有关man 2 mlock更多信息,请参阅。
man 2 mlock