追加情報

追加情報

私がそうするならcat /proc/meminfo

私は次のようになります


HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      662864 kB
DirectMap2M:     7643136 kB
DirectMap1G:     1048576 kB

1G byteページが割り当てられていることがわかります。しかし、ksysguardを見てみると、メモリが125M / 213M(rss)以上のプロセスは見つかりませんでした。

どのプロセスがそれを使用しているのかどうかはどうすればわかりますか?


追加情報

#> cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

ベストアンサー1

このDirectMap項目はメモリを反映しません。使用、これは物理メモリのページマップまたはページエントリを反映します。DirectMap1GPUDレベルのページテーブルマッピングを使用して、マッピングされたメモリ量を計算します。

起動中にマッピングが確立されます。arch/x86/mm/init_64.cそしてphys_pud_initとを探してくださいphys_p4d_init/proc/meminfo個々の項目に表示される値の合計は、DirectMapシステムの実際のRAMの合計量に似ている必要があり、共有が変更されても合計は決して変更されません(たとえば、PUDレベルマップは次のように分割できます)。 PMDレベルマップはに表示されている値を減らし、DirectMap1G)に表示される値を増やしますDirectMap2M

おすすめ記事