データローダでイベントログをエクスポートする時に「Java Heap Space」エラーが発生しました。
データローダでエクスポート時に「Java Heap Space」エラーが出た時の対処法について紹介します。
データローダでエクスポート時に「Java Heap Space」エラーが出た時の対処法
データローダの設定のバッチサイズを低くします。可能な限り1に近づけます。
デフォルトは200(バージョン57現在)になっていると思います。エラーが出なくなるまで下げるか1にしてみましょう。
※ヘルプ記事に、データローダ バージョン 21 以降やZulu Java を使用する新しいデータローダバージョン (45 以降)では起きにくいや行う必要はありませんと書いてありますが、このバージョン以降のもので発生し、バッチサイズを低くすることでエラー解消できました。
Salesforce Helpの回答
データローダで「Java Heap Space」エラーが発生する
公開日: 2022年10月13日
説明データローダのバッチサイズ設定を下げることによって、「Java Heap Space」エラーを解決または防止することができます。
注:
- データローダは Java で動作します。そして、JVM が実行時に割り当てられたメモリを使い果たしたときにこの問題が発生します。
- データローダ、バージョン 21 以降では、ヒープサイズが以前のバージョンよりも制限されているため、以前のリリースでは問題が発生しにくくなっていました。
- Zulu Java を使用する新しいデータローダバージョン (45 以降) では、ヒープサイズの管理方法が異なるため、これを行う必要はありません。
- 一部のシナリオでは (例えば、添付ファイルの抽出時)、ダウンロードされるコンテンツの性質上、ローカルシステム (JVM) 上で必要なメモリ量が増加するために発生しています。
- データローダのバージョン 21.0 以降では、データローダの動作が変更され、ヒープサイズが高く設定されていません。
- データローダの一般的な (そして、最も汎用的な) 使用事例は、メモリ使用量がはるかに少ない、組織からデータ行(文字列、数値など) をエクスポート (またはインポート) することです。
- すべてのユーザーシナリオに適したヒープサイズを定義し、そのメモリフットプリントと要件を低めに維持するのは非常に困難です。
解決策推奨される解決策:
- データローダの設定のバッチサイズを可能な限り低く、できれば 1 にすることです。詳細については、「データローダの設定」を参照してください。
- 最新バージョンのデータローダをインストールして使用していることを確認してください。
あるいは、データローダの起動コマンドの Java ヒープサイズを増やすこともできます。以下の詳細は、データローダがデフォルトの場所にインストールされていることを前提としています。データローダが別のフォルダにインストールされている場合、以下の起動コマンドは異なります。
a) デスクトップにデータローダのショートカットがある場合は、ショートカットを右クリックし、開いたメニューからプロパティを選択し、リンク先項目を次のように変更します。
“C:\Program Files (x86)\salesforce.com\Data Loader\Java\bin\javaw.exe” -Xms1024m -Xmx1256m -Dappdata.dir=”C:\Users\<user>\AppData\Roaming” -jar “C:\Program Files (x86)\salesforce.com\Data Loader\dataloader-26.0.0-uber.jar”
<user> はコンピュータのユーザのユーザ名です。
Windows 7 の データローダバージョン 37 の場合、パスは次のようになります:
“C:\ProgramData\Oracle\Java\javapath\javaw.exe” -Xms1024m -Xmx1256m -Dappdata.dir=”C:\ProgramData” -jar “C:\Program Files (x86)\salesforce.com\Data Loader\dataloader-37.0.0-uber.jar”
b) デスクトップにデータローダのショートカットがない場合は、スタートボタン |すべてのプログラム | salesforce.com | Data Loader をクリックして、そこにある Data Loader アイコンを右クリックし、表示されたポップアップメニューからプロパティを選択して、 a) に記載されている手順に従います。
適切なヒープサイズを見つけるには、上記の手順をいくつか繰り返してください。 ヒープサイズを設定するときは、システムに存在するメモリの総量を考慮する必要があります。 また、システムが 32 ビットの OS を実行している場合、ヒープサイズは 2 GBを超えることはできません。 詳細については、Java のマニュアルを参照してください。参考情報:
データローダの設定ナレッジ記事番号
000385819
https://help.salesforce.com/s/articleView?id=000385819&type=1
まとめ
対処方法はデータローダの設定でバッチサイズを低くすることです!他に難しいことはないです。
データローダを使用してイベントログを取得する時に起きやすいです。探してたら「データローダを使用してイベントログを取得する方法(https://help.salesforce.com/s/articleView?id=000384604&type=1)」にもリンクがありました。
ヘルプ記事のデータローダーのバージョン記載に関わらず、とりあえずダメ元で設定してみてください