問題タブ [memory-mapped-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1674 参照

java - 文字列への直接メモリ マップ

「FileChannel.map()」を介してメモリにマッピングしているファイルがあります。ただし、文字列を読み取って次のことを行うのは少し奇妙に思えます。

C++ のバックグラウンドから、メモリ マップされたファイルがメモリへのポインタとしてユーザーに渡されることを知っています。では、バイト配列の使用をスキップして、文字列変換をマップされたメモリからすぐに実行する良い方法はありますか?

0 投票する
2 に答える
906 参照

iphone - iOSのURLを使用してアクセス可能なメモリにファイルを保持する最良の方法は?

ファイルをメモリに保持し、URLで機能するlibにフィードしたいと思います(NSURLを考えてください)。iOSがfile://などを使用してアクセスできるメモリマップトファイルを作成できれば便利です。

私のフォールバック方法は、メモリからファイルを提供するローカルサーバーソケットを作成することですが、可能であれば、より適切な方法を見つけたいと思います。

0 投票する
2 に答える
1156 参照

c++ - 構造体をファイルにエクスポートしてから、ファイルをメモリマップする方法は?

ファイルにエクスポートしたい構造体があり、そのファイルをmmap()します。1つの問題は、構造体に文字列であるメンバー変数があり、mmapがそれをどのように処理するかわからないことです。この場合、これらの文字列はすべて同じサイズ、8文字です。Linuxのmmap()関数を複製することになっているオンラインで見つけたmmap()関数を使用していますが、私はWindowsで作業しています。

構造体自体は次のように定義されます。

オブジェクトのsizeof()の戻り値を定義することは可能ですか?

構造体データを含むファイルをmmappingすることは可能でしょうか?

構造体をファイルにエクスポートしてからmmapするには、どのコードを使用する必要がありますか?

0 投票する
3 に答える
1661 参照

c++ - メモリマップトファイルstd::allocatorの実装により、WM6デバイスがフリーズします

WindowsMo​​bile6.x用のVisualStudio2008 C ++プロジェクトがあり、32MBのプロセススロットで使用できるよりも多くのメモリが必要です。そのため、メモリマップトファイルの使用を検討しています。new/deleteをCreateFileMappingMapViewOfFileに置き換える標準のアロケータ実装を作成しました。

使用目的は次のようなものです。

を使用すると、例外std::allocatorを取得する前に、その例で28197回の反復を取得できます。std::bad_allocを使用するMappedFileAllocatorと、デバイスが完全にフリーズして再起動する必要がある前に、32371回の反復が発生します。私のデバイスには512MBのRAMがあるので、そのループからはるかに多くの反復を取得できると期待していました。

私のMappedFileAllocator実装は次のとおりです。

誰かが私のMappedFileAllocator実装でどこが間違っているのかを提案できますか?

ありがとう、PaulH

0 投票する
2 に答える
2264 参照

python - 文字列の配列のnumpy.memmap?

文字列numpy.memmapの大規模なディスクベースの配列をメモリにマップするために使用することは可能ですか?

フロートなどでできることは知っていますが、この質問は特に文字列に関するものです。

固定長文字列と可変長文字列の両方のソリューションに興味があります。

このソリューションは、適切なファイル形式を自由に指定できます。

0 投票する
3 に答える
331 参照

c++ - MapViewOfFileは、WindowsMo​​bile6デバイスをフリーズします

メモリマップトファイルを使用しているWindowsMo​​bile6ARMV4I用のVisualStudio2008C++プロジェクトがあります。残念ながら、デバイスがロックする原因になります。このコードで問題を示すことができます:

私のテストでは、65529回の反復後にWindowsMo​​bile6クラシックエミュレーターがフリーズします。これは私が間違って行っていることですか、それとも私が知っておくべきプラットフォームの問題がありますか?

ありがとう、PaulH

編集: / STACK:1048576,4096に増やすと、デバイスがフリーズする前に65535回の反復をヒットできます。

Edit2:GlobalMemoryStatus障害の直前によると、デバイスには70.5MB/94.1MBの空き物理メモリがあります。

Edit3:2つのMMFを作成し、両方を最大65500*256バイトでロードできます。ただし、どちらも個別に65535の割り当てを超えることはできません。実際には、割り当てサイズは重要ではありません。それぞれ半分から128バイトにカットできますが、それでも65535を超える反復で失敗します。

Edit4:実際のファイルでMMFをバックアップしても、違いはないようです。>65535回の反復での失敗。

0 投票する
2 に答える
2769 参照

java - メモリマップトファイルを切り捨てる

インデックスファイルにメモリマップドIOを使用していますが、問題は、ファイルのほとんどが空の場合、ファイルのサイズを変更できないことです。

以前のどこか:

サイズ変更:

WindowsまたはLinux32ビットを使用している場合、マッピング解除の問題が発生することがよくありますが、64ビットLinux実稼働環境では、すべてが警告なしで機能するように見えますが、ファイルは元のサイズを維持します。

なぜこれが起こるのか、そして/または問題を解決する方法を誰かが説明できますか?

0 投票する
1 に答える
3546 参照

php - PHPのメモリマップトファイル、php:// tempとphp://memoryの違いは何ですか

PHPでファイルをメモリに非常に簡単に保存する方法が必要です。ファイルが作成され、すぐに別のWebサービスに送信されます。PHP 5.1の時点で、ストリームphp://tempphp://memoryストリームが利用可能であることがわかりますが、2つの間に大きな違いはないようです。関数をphp://tempサポートし、サポートしていません。この場合、どちらを使用する必要がありますか、それともPHPでメモリマップトファイルを実行するためのより良い方法がありますか?stream_select()php://memory

0 投票する
1 に答える
474 参照

python - numpy.memmap のパージ

numpy.memmapで作成されたオブジェクトmode='r'(つまり、読み取り専用) が与えられた場合、オブジェクト自体を削除せずに、読み込まれたすべてのページを物理 RAM から強制的に削除する方法はありますか?

言い換えれば、memmapインスタンスへの参照は有効のままにしておきたいのですが、ディスク上のデータをキャッシュするために使用されているすべての物理メモリはコミットされないようにします。配列へのすべてのビューmemmapも有効なままにする必要があります。

これを診断ツールとして使用して、スクリプトの「実際の」メモリ要件と、memmap.

RedHat で Python 2.7 を使用しています。