Linuxで大きなページ管理を有効にする

Linuxで大きなページ管理を有効にする

いくつかの実験をしています。仮想アドレス変換を実行するときに、21ビットページオフセットを変更せずに維持できるように、いくつかの大きなページ(2MB)を実験に使用しました。インターネットで巨大なページを有効にする方法についていくつかのヒントを見つけました。これはうまくいきます。ところで、その原理についてはよく分からないので、ぜひ見たいです。

It requires Hugepages and assumes they are mounted on `/mnt/hugetlbfs/`. This value can be modified by changing the value of FILE_NAME.
The mount point must be created previously:

    `$ sudo mkdir /mnt/hugetlbfs`.
    
    Once reserved, hugepages can be mounted:
    
    `$ sudo mount -t hugetlbfs none /mnt/hugetlbfs`
    
    Note that this may require to use `sudo` for the examples or to change the permissions of the `/mnt/hugetlbfs/` folder.
    
    To enable a fixed amount of huge pages, after a reboot the number of huge pages must be set:
    
    `$ echo 100 > /proc/sys/vm/nr_hugepages`

最初に理解したのは、元のシステムが4Kbページを通じて管理されていたことでした。これで大きなページがアクティブになったので、すべてのメモリは大きなページを介して管理されます。しかし、いくつかの説明を読んでコマンドを比較しました。フォルダが作成された感じです。このフォルダ内のファイルは大容量ページを使用して管理し、このフォルダにないファイルは4KBを使用して管理します。 C言語では、buffer = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE|HUGEPAGES, -1, 0);巨大なページを作成するために使用できます。

私の理解は正しいですか?

ベストアンサー1

おすすめ記事