https://github.com/libhugetlbfs/libhugetlbfs/blob/master/HOWTOのガイドに従って、hugepages でテキストとデータ セグメントをバックアップする可能性を探っています。
「-B/usr/share/libhugetlbfs -Wl,--hugetlbfs-align」を追加することで提案されているようにアプリケーションを再リンクし、「hugectl --text --data --heap --bss /path/to」でアプリケーションを開始しました/私のアプリケーション"。
しかし、データ セグメントとテキスト セグメントが実際に hugetlbfs ファイルシステム上のファイルにコピーされているかどうかを確認する方法がよくわかりません。
/proc/{pid}/maps を確認すると、最初の 2 つのアドレス範囲はアプリケーションにマップされていますが、hugepage ファイル システムにはマップされていないため、ヒュージページはヒープに使用されていますが、テキストおよびデータ セグメントには使用されていないことがわかります。
私の理解は正しいですか?実際、/proc/{pid}/maps からのヒープに hugepage が使用されているという私の結論も間違っているのではないかと思います。
データとテキスト セグメントが hugepage でサポートされているかどうかを確認するにはどうすればよいですか? 成功した場合、データとテキスト セグメントが hugetlbfs ファイルシステムにコピーされることはわかっていますが、それを確認するにはどうすればよいですか?
ありがとう!
/proc/{pid}/maps の出力
00400000-00d2c000 r-xp 00000000 fd:02 46153351 /path/to/my/application
00f2b000-00fa3000 rw-p 0092b000 fd:02 46153351 /path/to/my/application
00fa3000-00fbb000 rw-p 00000000 00:00 0
02a0c000-02a2d000 rw-p 00000000 00:00 0 [heap]
40000000-80000000 rw-p 00000000 00:15 2476090 /dev/hugepages-1G/libhugetlbfs.tmp.nS7exn (deleted)