方法一

以下命令可用于查看哪些进程正在使用 THP:

for i in /proc/*/smaps; do
    if [[ $(grep '^AnonHugePages' $i | grep -v '0 kB$') ]]; then
        echo -ne "$i procees maybe running THP mode if you are using THP mode in kernel:\n";
    fi;
done

此处评估 AnonHugePages 将显示是否使用透明大页面 (THP)。

在RHEL/CentOS 中,如何计算某个进程所使用的大页面大小

我们有一个配置了大页面(hugepages)的系统,并且想要查找每个进程的大页面利用率。

# grep -i huge /proc/meminfo
HugePages_Total:  2176
HugePages_Free:   2065
HugePages_Rsvd:   2065
Hugepagesize:     2048 kB
欢迎 on it road

方法 2 - 进程使用的大页面

可以使用以下命令计算指定进程使用的hugepage大小,假设HugePage大小为2048 kB,输出单位为MiB:

# grep -B 11 'KernelPageSize:     2048 kB' /proc/[PID]/smaps | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=}END{print sum/1024}'
日期:2020-09-17 00:12:25 来源:oir作者:oir