如果我剩下大量RAM,会发生记忆分页
Will memory paging occur if I have plenty of RAM left?
我正在编写一个高性能服务器应用程序(在Linux上),我正在尝试获得快速关键路径。我担心记忆分页并在操作过程中将内存换成磁盘(按毫秒的延迟)。
我的问题是,我的服务器上有很多内存(例如16GB),并且我的内存利用率停留在6-10GB左右,我知道同一框上没有其他进程。启动申请后,我可以保证不要让页面错过吗?
这是不能保证的。Linux的默认行为有时是使用RAM来缓存文件,这可以改善某些工作流程的性能。这意味着有时即使不使用内存,也会将内存页面交换。
您可以使用Mlock/Mlockall将过程的页面锁定在内存中。有关更多信息,请参见man 2 mlock
。
相关文章:
- 是默认情况下分配给char数组常量的值
- QTableView:endMoveRows在模型中重置水平页眉大小
- 松弛原子与无同步情况下的记忆连贯性
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 递归函数有效,但无法记忆
- 堆分配对于大型块中的分页是否更有效?
- 如何在 QML 中显示来自 QTextDocument 的分页文本?
- 动态表中的 SQLite 分页
- 如果我剩下大量RAM,会发生记忆分页
- 如何在C++应用程序中支持输出分页
- 使用写入函数对 int 表进行分页
- list.h list_del() 给出内核分页错误
- 时钟分页替换算法
- 提升::几何 R*树和分页/延迟加载
- 如何设置QSqlQueryModel的Qt::Vertical headerData在进行分页时增加数字
- 什么会导致分页池增加
- 数组内存分配-分页
- 如何使用std::vector等动态数据结构并防止分页
- 如何防止分页在QTextDocument块或框架
- 使用控制台进行分页