2016-04-12 14 views
2

https://github.com/libhugetlbfs/libhugetlbfs/blob/master/HOWTOのガイドに沿ってhugepagesでテキストとデータセグメントをバックアップする可能性を模索しています。テキストとデータセグメント用のhugeページの使用

"-B/usr/share/libhugetlbfs -Wl、 - hugetlbfs-align"を追加して提案したようにアプリケーションを再リンクし、 "hugectl --text --data --heap --bss"/path/to/my/application "と入力します。

しかし、データセグメントとテキストセグメントが実際にhugetlbfsファイルシステム上のファイルにコピーされているかどうかを確認する方法はあまりよく分かりません。

/proc/{pid}/mapsを調べると、最初の2つのアドレス範囲がアプリケーションにマッピングされますが、hugeページファイルシステムではないため、hugepagesはヒープに使用されますが、テキストおよびデータセグメントには使用されません。

私の理解は正しいですか?実際には、/ proc/{pid}/mapsからのヒープにhugepagesが使用されているという私の結論が間違っていると思われます。

データセグメントとテキストセグメントがhugepagesにバックアップされているかどうかを確認する方法を教えてください。成功すればデータとテキストセグメントはhugetlbfsファイルシステムにコピーされますが、それを確認する方法はわかりますか?

ありがとうございます!他の情報のうち - -

出力の/ proc/{PID} /マップ

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) 

答えて

1

チェック

/proc/$pid/numa_maps 

が可能特定のプロセスによって使用される各メモリ領域に関する情報が含まれて決意どのノードがそのページに使用されたかを示します。 formarため

あなたは= 1つの変数HUGETLB_DEBUGを設定した場合、それはあなたに有益な情報の全体の多くを教えてくれますhttp://linux.die.net/man/5/numa_maps

+1

も参照の/ proc/$ pidを/ smapsを準備匿名のhugepages。 BSSはヒープのような匿名マッピングであり、十分に整列されたマッピングに透明なhugemagesを使用します。 –

1

を参照してください。そのうちの一つがこれです:

INFO:セグメント2の整列MEMSZが小さすぎる:0x864 <

0xffffffffffffffffそれが成功すれば、それは次のようになります。

libhugetlbfs [zupa:154297 ]:INFO:セグメント0(PHDR 2):0x400000-0x400864(filesz = 0x864)(PROT = 0x5)

libhugetlbfs [zupa:154297]:INFO:セグメント1(PHDR 3):0x600868-0x600af8(filesz = 0x27c )(PROT = 0x3の)

libhugetlbfs [zupa:154297]:DEBUG:合計MEMSZ = 0xaf4、最大セグメントのMEMSZ = 0x864

libhugetlbfs [zupa:154297]は:INFOは:バージョンlibhugetlbfs:2.16(変更)

libhugetlbfs [zupa:154951]:INFO:0x2aaaaac00000のマップされたhugeseg。 0x464000から0x864バイトと0バイトをコピーしています...行わ

libhugetlbfs [zupa:154297]:INFO:成功した準備

libhugetlbfs [zupa:154952]:INFO:0x2aaaaac00000にマッピングhugeseg。

libhugetlbfsを行ってコピー0x27cバイトと0x600868から0余分なバイト... [zupa:154297]:INFO:含む各マッピングについての詳細な情報のために成功しました

関連する問題