madvise..,MADV_SEQUENTIAL在Linux上的页面驱逐中有什么作用?

问题描述

man page for madvise说MADV_SEQUENTIAL表示“按顺序预期页面引用。(因此,可以主动读取给定范围内的页面,并且可以在访问它们后立即将其释放。” em>)”(添加了强调)。我想知道对于以非严格顺序访问模式的范围的进程,提示可能会如何影响页面驱逐。

就我而言,我有一个内存范围和两个线程; 每个线程依次遍历该范围,但是一个线程可能先于另一个线程运行。我的应用程序可以受益于MADV_SEQUENTIAL的更积极的预读,但是我不确定其他效果是否合适。允许页面在 second 线程访问后被丢弃将对内存压力做出最佳响应,但是如果在第一个线程的访问和第二个线程的访问之间不必要地分页了,MADV_SEQUENTIAL肯定是一个净亏损。我认为折衷取决于内存压力和两个线程位置之间的间隙大小。我知道对VM性能问题的最终答案是“在现实条件下在您的应用程序中对其进行基准测试”,但是我也需要一个思维模型。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...