/proc/meminfo
メモリ統計がありますVmallocTotal
。それは次のように説明されています。
vmalloc メモリ領域の合計サイズ。
存在するproc マニュアルページ
そして他の場所では
カーネルで vmalloc を割り当てるために使用できる合計メモリ
それは非常に高い数であり、私が検索したところで偶然34359738367 kBだったので好奇心を呼び起こしました。これは任意の最大値のようです。しかし、34359738367kBのポイントは何ですか? 2の倍数でも素数でもありませんが、16進数では0x7FFFFFFFFです。また、pmap
プロセスメモリマップアドレスが最大0x7FFFFFFFFであることを確認しました。それでは、0x7FFFFFFFFの実際の意味は何ですか?
答え1
32TiB、つまり空間の量です。vmalloc
Linuxカーネルのx86-64メモリマップに予約されています。。
64ビットのアドレス空間が大きいため、大きなものです。私はレイアウトを設計するときに具体的なサイズがきれいに細分化される以外に意味がないと思います。