ml RAM系统

时间:2016-11-10 15:14:14

标签: embedded-linux

我们有一个时间关键的过程(第三方代码),它有mlockall。我将此代码移植到没有硬盘的嵌入式系统中。 它是仅RAM系统,从SD卡启动,并在SD卡中存储。

mlockall在仅RAM系统中是否具有任何性能优势?

只是检查它是否尝试过任何交换分区: cat / proc / swaps 文件名类型大小使用优先级

在这种情况下,我可以删除mlockall,因为它不会在我们的系统中添加任何值。请帮助。

1 个答案:

答案 0 :(得分:0)

在内存压力下,linux内核可能会决定从RAM中逐出页面。脏页(包含可写数据)只能换出。像过程的文本部分一样的干净页面(只读)可能只是被删除。这些页面会在需要时通过页面错误重新进入。

第一种情况不会发生在你身上,因为没有交换。第二种情况可能会发生,可以通过mlockall调用来阻止。

总的来说,讨论是理论上的,因为在内存压力下运行系统会引入许多非确定性行为,这对于实时系统是不利的。