Japan Server Error Fix Lab

ホーム / Salesforce / Salesforce

Salesforce Apex heap 初動切り分け

Salesforce で Apex heap が発生した時に、初動切り分け の観点で原因、出力例、分岐対応、避ける操作を整理します。

mediumApex heap6 分で読む
最初の確認コマンド
grep -R "Apex heap" ./logs
最初に見る証拠

Apex heap は「初動切り分け」として確認します。最初に見る証拠は the first observable mismatch before any setting is changed です。

検索クエリ
Salesforce Apex heapSalesforce error Apex heapSalesforce Apex heap 初動切り分け

この状況で発生します

Only the visible message is known. 画面上の文言だけで判断せず、まず the first observable mismatch before any setting is changed を確認し、正常出力と失敗出力を比較します。

症状チェック

  • Apex heap が Salesforce の画面またはログで繰り返されます。
  • profile, permission set, flow, trigger, owner state が正常ケースと失敗ケースで異なります。
  • data permission issue from Apex/Flow automation issue を分けた時だけ問題が見えます。
  • リリース、権限、設定、データ更新の直後に起きやすいです。

可能性が高い原因

  • application runtime failure caused by exception, parser error, framework wiring, database adapter, automation trigger, or recursive call.
  • 初動切り分け では the first observable mismatch before any setting is changed が最初の手掛かりです。
  • 正常ケースと失敗ケースを比較しないと原因候補が広がりすぎます。
  • キャッシュ、権限、ネットワーク、プロキシ状態が一部ユーザーだけ違って見えることがあります。

1分で先に確認

  1. 初回発生時刻、直近変更、影響ユーザー、URL、オブジェクトIDを記録します。
  2. 正常/失敗ケースで profile, permission set, flow, trigger, owner state を同じ時間帯に比較します。
  3. 仮説を確認します: application runtime failure caused by exception, parser error, framework wiring, database adapter, automation trigger, or recursive call.
  4. 初動切り分け かを判断します: the first observable mismatch before any setting is changed.
  5. 設定変更前に現在値を保存します。

最初に見る証拠

Apex heap は「初動切り分け」として確認します。最初に見る証拠は the first observable mismatch before any setting is changed です。

出力例

正常出力

No matching error appears during the affected request window.

失敗出力

The same error appears at the exact request time with the affected path, user, or object.

出力別の判断

  • Only the visible message is known.
    Collect timestamp, route, request ID, user, and the first backend log line before editing configuration.
  • 正常ケースと失敗ケースの出力が違います。
    差分が出たレイヤーで先に対応します: For Apex heap, apply the fix only after reproducing the same condition and saving the before/after evidence for this exact code.
  • コマンドは正常でもユーザー画面だけ失敗します。
    キャッシュ、Cookie、権限、ネットワーク位置を分けて確認します。

避ける操作

  • Do not change DNS, SSL, cache, and permissions at the same time.
  • 原因レイヤーを確認する前に複数設定を同時変更しないでください。
  • データ削除、広い権限付与、全面的なセキュリティ無効化を初動対応にしないでください。

検証状態

自動生成ドラフト: コード別の原因、コマンド、出力分岐、避ける操作を含みます。公式ドキュメントと実運用検証は継続して補強します。

先に実行するコマンド

grep -R "Apex heap" ./logs
sfdx force:user:display
sfdx force:apex:log:list
sfdx force:data:soql:query -q "SELECT Id FROM User LIMIT 1"
grep -R "Apex heap" force-app
grep -R "exception\|fatal\|stack\|500\|trigger" ./logs
tail -n 200 /var/log/app/error.log
printenv | sort
date -u && grep -R "ERROR\|WARN\|failed" ./logs | tail -n 50

解決順序

  1. Apex heap の全文、失敗URL、ユーザー、オブジェクトID、直近変更を記録します。
  2. application runtime failure caused by exception, parser error, framework wiring, database adapter, automation trigger, or recursive call に合う証拠を先に集めます。
  3. 失敗ケースと正常ケースを同じコマンドで比較します。
  4. 初動切り分け の分岐なら Collect timestamp, route, request ID, user, and the first backend log line before editing configuration.
  5. 同じURLと同じコマンドで再検証し、正常出力を記録します。

原因別の対応

  • For Apex heap, apply the fix only after reproducing the same condition and saving the before/after evidence for this exact code.
  • Find the first stack trace for the same request ID and timestamp.
  • Reproduce with the same environment variables and dependency versions.
  • Disable or isolate automation triggers before changing data broadly.
  • Fix the smallest failing handler or dependency wiring first.
  • Add a regression request for the exact route or object that crashed.
  • 初動切り分け の分岐では Collect timestamp, route, request ID, user, and the first backend log line before editing configuration.

検証メタ

  • operator-draft
  • official-reference-linked
  • 2026-07-23

更新キュー

  • 更新周期
    weekly-source-review
  • 次の補強
    Add one official-source check and one real output example for Salesforce Apex heap.

環境別の確認ポイント

  • 共有ホスティング、プロキシ、VPN、CDN は data permission issue from Apex/Flow automation issue の結果を変えることがあります。
  • Salesforce の管理画面だけでなくコマンド出力と比較します。
  • 日本のホスティング管理画面は完了表示でも DNS/SSL 反映が遅れることがあります。
  • 社内ネットワークと外部ネットワークの両方で確認します。

再発させないために

  • profile, permission set, flow, trigger, owner state の正常出力例を保存します。
  • owner activation, permission sets, validation rules, trigger order をリリースチェックリストに追加します。
  • 繰り返されるエラーは同じ形式の対応ノートに残します。
  • エラー率、遅延、証明書、ディスク、権限変更のアラートを分けます。