[英]How to measure number of allocated page tables?
據我所知,Linux 直到需要時才分配頁表(分配在使用頁面時按需進行)。 我想檢查在程序執行期間真正分配了多少頁表。 您能否讓我知道如何測量實際分配的頁面數?
如果我理解正確,您想測量正在運行的程序的頁表數。
您可以使用RSS
值來計算活動頁表的數量:
RSS 是駐留集大小,用於顯示有多少 memory 分配給該進程並在 RAM 中。 它不包括被換出的 memory。 它確實包括來自共享庫的 memory,只要這些庫中的頁面實際上在 memory 中。 它確實包括所有堆棧和堆 memory。
使用RSS
並划分頁表大小(默認為 4KB)。
例如,我想在我的機器上計算 tmux 的頁表:
$ ps aux | grep tmux
da 21995 0.0 0.0 26416 2768 ? Ss May17 4:16 tmux
RSS 值為 2768,如果我們將其除以 4: 692 。
但請注意,RSS 也計算共享庫。 如果我執行cat /proc/21995/maps
,將會有 tmux 的 memory 映射的完整列表,其中大部分是 glibc 共享庫。
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.