いくつかの実験をしています。仮想アドレス変換を実行するときに、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);
巨大なページを作成するために使用できます。
私の理解は正しいですか?