OutOfMemoryError対策について

Avatar
price
日によってデータ件数に差がある連携処理があるのですが、ときどきDataSpiderのメモリがオーバーしてOutOfMemoryErrorになってしまいます。

メモリの増強を検討していますが、何か他にいい案はありますでしょうか。



なお、大容量データ処理はパフォーマンスの観点から採用は難しいです。

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    okki
    コメントアクション Permalink
    やはりメモリの増強が一番確実だとは思いますが・・・


    パラレルストリーミング処理はメモリの消費も抑えてくれるようなので
    適用できる処理内容であれば有効かもしれませんね。
    0
  • Avatar
    kzm00
    コメントアクション Permalink
    メモリを増強ができるならそれにこしたことはありませんが、okkiさんがコメントしているパラレルストリーミング処理を検討してみるのはアリだと思います。
    あとはデータを分割するということも考えられますが、パフォーマンスを気にされているので難しいと思います。
    0
  • Avatar
    price
    コメントアクション Permalink
    皆様、コメントありがとうございます。
    いただいたコメントを参考にさせていただき、対応を検討したいと思います。
    0
  • Avatar
    egp
    コメントアクション Permalink
    以前、OutOfMemoryError対策で大容量データ処理を有効にしたことがあります。仰るとおり、やはりパフォーマンス劣化が懸念されていたのですが実測したところ、
    メモリに余裕が出るからかむしろパフォーマンスが向上するケースもありました。
    ※当然ながら遅くなると思っていたので意外な結果でした。


    試しに一度大容量データ処理を有効にしてみるのも選択肢としてはアリかとも思います。
    0
  • Avatar
    price
    コメントアクション Permalink
    egp様、コメントありがとうございます。
    なるほど、メモリの使用状況やディスク性能によってはパフォーマンスが向上するケースがあるということですね。
    試しに大容量データ処理を有効にしてやってみます。
    貴重なご意見ありがとうございました。
    0
  • Avatar
    もも
    コメントアクション Permalink

    明らかにメモリオーバーしそうなら自動的にDISKを使ってくれれば良いのですけどね・・

    0

ログインしてコメントを残してください。