hugepage で構成されたシステムがあり、プロセスごとの hugepage の使用率を調べたいと考えています。
# grep -i huge /proc/meminfo HugePages_Total: 2176 HugePages_Free: 2065 HugePages_Rsvd: 2065 Hugepagesize: 2048 kB
方法 1
次のコマンドを使用して、どのプロセスが 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 の評価 Transparent Huge Pages (THP) の場合はここに表示されます
方法 2 – プロセスによって使用されるヒュージページ
次のコマンドを使用して、指定されたプロセスによって使用される hugepage のサイズを計算できます。HugePage のサイズが 2048 kB で、出力単位が MiB であると仮定します:
# grep -B 11 'KernelPageSize: 2048 kB' /proc/[PID]/smaps | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=$2}END{print sum/1024}'注意 :/proc/[PID]/smaps.CentOS / RHEL 6,7 で同じアドレスの二重カウントを避ける:hugepages の設定方法