私はDelphiを使ってロガー/スニファを開発しています。操作中にデータが大量に失われ、ストレス操作中に約3GBのデータに蓄積される可能性があります。 これらのレベルに到達した特定のコンピュータでは、アプリケーションが機能しなくなり、例外がスローされることがあります。高容量ロガーアプリケーションにはどのような割り当て方法を使用しますか?
現在、私はGetMem関数を使用して各メッセージにポインタを割り当てています。
私は失敗の可能性を最小限に抑えるためにメモリを割り当てるより良い方法はありますか?私はハード限界にサイズを制限することはできませんことを覚えておいてください。
HeapAlloc、VirtualAlloc、またはマップされたファイルの使用についてどう思いますか?どちらが良いでしょうか?
ありがとうございます。
[Flume](https://cwiki.apache.org/FLUME/)のような既存の大容量ロガーを使用できますか? – Barend
メモリの割り当てを減らすか、または64ビットのデルファイに切り替える –
@Barend私たちのプロセス+ USBデータ(私の会社は携帯電話で動作し、通信中にはすべてのUSBパケットがロガーに追加されます)から情報を取得するリアルタイムの社内ロガーです。 。私は準備が整ったロガーがそれを正しく処理できるとは思わない。 – Ran