mmap

    1

    3答えて

    私はプロセス間でデータを共有するためにmmap'edファイルを使用します。 コードは次のようである: struct Shared { int Data; }; int file = open("file.dat", O_RDWR); Shared* shared = static_cast<Shared*>( mmap(0, sizeof(Shared), PROT_READ

    8

    2答えて

    以前に使用されていたメモリのために私のプロセスに仮想アドレス空間を予約したいが、現在は必要ない。私は、ホストカーネルがLinuxであり、オーバーコミット(すべてのコミットされたメモリの詳細なアカウンティングによって行われる)を防ぐように設定されている状況に興味があります。 私のアプリケーションが物理メモリを占有していないか、ディスクにスワップされている(どちらの方法でもリソースを浪費している)のを

    1

    3答えて

    私はmmapで永続的な大きな定数配列を実装しています。 mmapを使用する際に注意すべきヒントや秘訣がありますか?

    1

    2答えて

    現在、プロセス間でデータを共有するために大きなmmapファイルを使用するApacheモジュールを作成しています。これは起動時に作成され、サーバーがシャットダウンすると削除されます(後の段階で保持することを選択できます)。私はこれをApache APRライブラリを使って実装しましたが、少なくとも小規模なファイルではうまくいきます。 しかし、メモリマップされたファイルのサイズが大きくなると(サーバーが

    2

    2答えて

    私は各行に整数が書かれた2つのテキストファイルをmmapingしています。 私はドライブからそれらを読んで、私は彼らにソートされたマージをしたいと思いました。 2つの入力ファイル "1piece0"と "1piece1"にはソートされた整数のリストがあります。 出力ファイルのサイズは、2つのファイルを結合したものの、それほど多くの整数ではありません。 問題:2つの入力ファイルには25430000行

    21

    5答えて

    私は絶えず株価(int、longs、doubleなど)のファイルに追加しています。このファイルはmmapでメモリにマップされています。 新たに追加されたデータをメモリマッピングの一部として利用できる最も効率的な方法は何ですか? ファイルをもう一度開いて(新しいファイルディスクリプタ)、新しいデータを取得するためにmmapすることができますが、それは効率が悪いようです。私に示唆されているもう1つのア

    13

    4答えて

    64ビットアドレッシングのためのアドレス空間は絶対に巨大です。私はmmapメモリのいくつかのチャンク、100 - 500メガバイトのそれぞれのプログラムを持っています。私は必然的に数回再マッピングすることになり、利用可能な連続スペースの断片化を引き起こす可能性があります。 スペースの断片化が発生しても、使用可能なアドレス空間に関しては、必ずしも小さくなることは間違いありません。 私の質問は次のとお

    2

    3答えて

    私はプロセス間の障壁のための簡単な解決策が必要でした。ここで解決策:solution しかし、私は完全にmmapで失われています...私の最初の試行では、10回中1回失敗します(セグメンテーションまたはデッドロック)。 私は自分の問題が同期の問題であると理解していますが、見つけられません。私はmmapedメモリ(example)を設定するための例を見つけましたが、mmaped pthread_ba

    7

    1答えて

    mmap(2)とmmap(3)の違いは誰にも分かりますか? Manセクション3は、「この章では、システムコールを実装する第2章で説明したライブラリ関数を除いた、すべてのライブラリ関数について説明します。 mmap(3)はシステムコールを実行しませんか? 2つのマニュアルページを読むと、mmap(2)は、mmap(3)よりもはるかに多様なフラグを受け入れているようで、デバイスI/Oスペースをマッピン

    2

    1答えて

    mmap()で実装されているデータを永続的かつ高速にリロードするシステムを設計する必要があります。しかし、永続性のためにmmap()を使用しているシステムでは、単一ノードのMongoDBのように、システムクラッシュ時にデータの整合性が失われることがありました。 私が持っているものは、非常にフラットなデータ構造です。データは1024サイズのブロックにチャンクされ、ブロック間の依存性はありません。ブロ