2012-04-04 84 views
2

如何在Linux 2.6.32機器上的源代碼中限制C程序的物理內存消耗?如何限制進程中的RAM消耗?

我需要確定系統正在使用的頁面替換算法的類型。

問題在於,如果不限制進程在內存中可能擁有的頁數,就很難分析頁面錯誤的模式來確定頁面替換算法。

此外,我沒有root權限在機器上。

+0

您可能需要使用系統配額來限制進程可能使用的RAM數量。 – greg 2012-04-04 18:54:13

回答

5

setrlimit(RLIMIT_MEMLOCK, ...)

+1

你能解釋更多嗎?我以爲MEMLOCK只會影響您可以強制停止換出多少頁面?我希望頁面被換出,因爲我需要分析交換模式以確定正在使用的算法。 – ktbiz 2012-04-04 19:03:12

+0

從哪個包含這個函數來自? 'man setrlmit'什麼都不返回。 – karlphillip 2012-04-04 19:19:04

+0

ktbiz 2012-04-04 19:21:05