proc 文件系统的手册页说,/proc/[pid]/statm
和其他文件系统的内存使用量是“以页面为单位”的。我不确定当使用多种页面大小时这是什么意思。
假设我的进程使用两个页面,一个 4KiB 页面和一个 2MiB 页面,并返回 4096 字节。在这种情况下sysconf(_SC_PAGE_SIZE)
将返回以下哪个结果?proc/[pid]/statm
2
,因为该进程使用一个 4KiB 页面和一个 2MiB 页面。513
,因为该过程使用了 2101248 字节,并且该大小除以“默认”页面大小(4096 字节)。
您将看到 513 — 这些值显示在“默认”页面中。您可以将其与 中给出的 kiB 值进行比较
/proc/[pid]/status
;等价值在 中给出man 5 proc_pid_statm
。请参阅
proc_pid_statm
内核task_statm
源代码以供参考(如果这对您有意义)。