簡體   English   中英

如何測量已分配頁表的數量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM