2011-05-01 37 views
0

的問題: 我如何知道多少內存在使用中由VMA的我的過程中(無論是當我在用戶空間或內核)?架空VMA的是在Linux上

我給上我在做什麼的簡短說明,所以,你可以理解爲什麼我要問這個。 我在Linux機器上運行了幾個進程和一個驅動程序(內核模塊)。進程的內存被鎖定(不可插拔),因此我想確保模塊和進程一起消耗的內存不會佔用我物理內存總量的90%。爲了減少malloc開銷,我正在使用mmap。 我真正需要知道的是多少內存我的過程真的是消費而不是多少他們要求,並不亞於我可以告訴大家,我唯一缺少的任何分配的VMA的開銷。

回答

1

挖後,我已經找到了答案:

雖然我的司機是我可以用 電流 - > MM-> map_count 要知道當前進程的當前數量VMA的的。 乘以sizeof(struct vm_area_struct)會給我我正在尋找的東西。 從這裏開始,會計非常簡單。