1GBの大容量テーブルの数をどのように確認できますか(そしてどの文書に従うべきですか?)

1GBの大容量テーブルの数をどのように確認できますか(そしてどの文書に従うべきですか?)

Ubuntu 20.04では、KVMがどのhugepagesを使用しているかを調べたいと思います。 2048 KiB(デフォルトサイズ)ページ数を変更すると、これが反映されていることがわかります。/proc/meminfo

:~$ echo 0 |sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
0
:~$ cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        50331648 kB
:~$ echo 512 |sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
512
:~$ cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:     512
HugePages_Free:      512
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        51380224 kB
:~$ 

ところで、1GBのページ数を変更してみると、これを反映する内容がまったく見えません。

:~$ echo 0 | sudo tee /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
0
:~$ cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:     512
HugePages_Free:      512
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        51380224 kB
:~$ echo 16 | sudo tee /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
16
:~$ cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:     512
HugePages_Free:      512
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        51380224 kB

私が理解しているように、これは私のシステムが1GBの大容量ページをサポートしていることを意味します。そうですか?

ls /sys/kernel/mm/hugepages
hugepages-1048576kB  hugepages-2048kB

1Gbページは他の場所にリストされていますか?状態を確認できますか?

編集:@Krackoutのおかげで、1GBの巨大なページを見ることができますが、どの文書に従うべきかはまだ混乱しています。

大容量ページを設定して監視するさまざまな手順が混乱しています。動作しているようですが、まだ理解していない部分がたくさんあります。

主なリソース:

上記の各リンクは、部分的に重複するプロセスを説明しています。カーネルとディストリビューションによって違いがあるようですが、正確に何なのかもわからないし、明確な説明もどこでも見つからないようです。

私のUbuntu 20.04設定で私に役立ったのは、次のものを置くことでしたcrontab -e

@reboot echo 64 | sudo tee /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
@reboot mount -t hugetlbfs -o pagesize=1G none /dev/hugepages

その後、次のXMLを使用してvirt-managerでKVM仮想マシンを起動できます。

<memoryBacking>
  <hugepages>
    <page size='1048576' unit='KiB'/>
  </hugepages>
</memoryBacking>

だから私ができる方法は、どのガイドが言ったものとまったく一致しませんでした。

ベストアンサー1

Debian Linuxでは、カーネルパラメータを挿入する必要がありますhugepagesz=1G(もちろん再起動も必要です)。libhugetlbfs-binコマンドを使用してパッケージをインストールし、情報を表示することもできますhugeadmHugepadesのDebian WikiページDebianベースのUbuntuで動作する必要があります。

おすすめ記事