在 Linux 中查找进程的页面大小和页面数

在 Linux 中查找进程的页面大小和页面数

给定 Linux(最新内核)中运行的进程的 PID,我如何找出:

  1. 使用的页面数量
  2. 它使用的每个页面的大小(4K、2MB 或 1GB)

这是针对 x86-64 架构的。

答案1

getconf页面大小是系统范围的,可以使用命令找到

getconf PAGESIZE

内存使用情况.py工具可以提供有关进程内存使用情况的更详细信息。

答案2

根据所需信息的详细程度,您需要以下信息之一:

  • /proc/pid/statm:提供内存使用情况的信息,以页面为单位。
  • /proc/pid/status:提供了许多来自的信息/proc/pid/statm,但更易于阅读。

查看 proc 文件的手册页,以获得关于不同列含义的详细说明。

答案3

使用的页面数量

awk '{ print $24 }' /proc/[pid]/stat

或者:

awk '{ print $2 }' /proc/[pid]/statm

根据进程管理器,它是进程在实际内存中拥有的页面数。另请查看procstat.c以人类可读的格式显示 proc stat。

相关内容