highmemは64ビットLinuxに関連していますか?そうでなければなぜですか?

highmemは64ビットLinuxに関連していますか?そうでなければなぜですか?

64ビットLinuxカーネルにはhighmem問題がないという内容をオンラインのどこかで読みました。これが問題にならない方法/理由の説明/詳細情報が見つかりませんでした。誰かがこれを説明できますか?

ベストアンサー1

から Documentation/vm/highmem.txt

Highmem は、物理メモリーのサイズが仮想メモリーの最大サイズに近いか超過した場合に使用されます。 この時点では、カーネルが使用可能なすべての物理メモリのマップを常に維持することは不可能になります。これは、カーネルがアクセスしようとする物理メモリセグメントの一時マッピングを使用して開始する必要があることを意味します。

32ビットシステムの場合、仮想メモリの最大サイズは2 32または4 Gbです。この制限は非常に迅速に到達するため、highmemはRAMが多い32ビットシステムで大きな問題です。

64ビットシステムでは、理論上の最大仮想メモリサイズは2 64です。これは18446744073709551616バイト(16.8百万テラバイト)。これは、今日のコンピュータが収容できるレベルをはるかに超えています。したがって、highmemは64ビットシステムでは問題になりません。

おすすめ記事