2

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)
4

2 に答える 2

2

小切手

   /proc/$pid/numa_maps

特定のプロセスによって使用される各メモリ領域に関する情報が含まれており、他の情報の中で、どのノードがページに使用されたかを判断できます。

以前は、http: //linux.die.net/man/5/numa_maps を参照してください。

于 2016-08-30T01:04:20.497 に答える