2016-11-10 50 views
0

我們有一個時間關鍵的進程(第三方代碼),它有mlockall。我將此代碼移植到我們的沒有硬盤的嵌入式系統中。 它是RAM系統,從SD卡啓動並且在SD卡中也有存儲。僅在RAM中使用mlock的系統

mlockall在RAM系統中是否具有任何性能優勢?

只是爲了檢查是否有它試圖任何交換分區: 執行cat/proc /掉期 文件名類型大小使用中斷優先

在這種情況下我可以刪除mlockall用於,因爲它是不會在增加任何價值了系統。請幫助。

回答

0

在內存壓力下,linux內核可能會決定從RAM中逐出頁面。髒頁面(包含可寫數據)只能換出。清理頁面(只讀)就像流程的文本部分可能會被刪除。需要時,這些頁面將通過頁面錯誤返回。

由於沒有交換,第一種情況不會發生在您身上。第二種情況可能發生,可以通過mlockall調用阻止。

總的來說,討論是理論上的,因爲在內存壓力下運行系統會引入很多非確定性行爲,這對於實時系統是不利的。