サーバークラッシュチャートとサーバーのメモリ不足スナップショットは、サーバークラッシュの根本原因を特定し、ゲームの安定性を向上させるのに役立ちます。
サーバーがメモリ不足になっていることを検出した場合、エンジンは自動的にサーバーがシャットダウンする前にデータモデルの簡潔なJSON要約をキャプチャします。サーバーのメモリ不足によるクラッシュが急増している場合は、チャートとメモリスナップショットを使用して問題を診断できます。
- スナップショットを選択: サーバーのメモリ不足スナップショットリストを使用してクラッシュを特定し、最新のタイムスタンプ、プレースID、プレースバージョン、サーバーバージョン、またはサーバーの稼働時間に基づいてメモリ使用量を調べ、長期的なメモリリークを特定するか、プレイヤーからの報告や独自のテスティングウィンドウとクラッシュを照らし合わせます。
- メモリ使用量を可視化: スナップショットをクリックして、メモリ使用量に基づいて重み付けされたノードを表示するツリーマップビューアを開きます。ノードを掘り下げて、クラッシュ時にどのサービス、フォルダー、またはアセットがメモリを支配していたかを確認できます。
- スタジオで調査: ビューアの上部にあるパンくずリストを使用して、潜在的に膨大なアセットを保持している親コンテナを強調表示します。この文脈を持って、スタジオに飛び込んで問題を引き起こしている特定のスクリプトまたはアセットを調査し修正できます。

チャートにアクセスする
サーバークラッシュチャートにアクセスするには、ゲームオーナーであるか、分析グループの権限を持っている必要があります。
- クリエイターハブの作成物ページに移動します。
- クリエイターハブのドロップダウンから、あなたのアカウントまたはゲームを所有しているグループを選択します。
- ゲームを選択します。
- 監視のドロップダウンからクラッシュを選択します。
チャートを使用する
サーバークラッシュチャートは、サーバークラッシュの潜在的な原因を深く掘り下げて可視化します。クラッシュは原因別に分解されます。
- メモリ不足クラッシュ - 高いメモリ使用量によりサーバーがクラッシュしており、直接的な対応が可能です。
- プラットフォームクラッシュ - エンジンレベルのエラーや、復旧不可能な状態に入ったときに破損したメモリによりサーバーがクラッシュしています。Robloxはこれらのクラッシュを監視し、直接的な対応を行います。
チャートのメニューを使用して、日付範囲、時間間隔、注釈を調整したり、プレースメニューを使用して全体のゲームではなく個々のプレースを調べたりできます。

チャートのすぐ下には、タイムスタンプ、サーバーバージョン、サーバーの稼働時間、プレースID、またはプレースバージョンに基づいて調べることができるサーバーのメモリ不足スナップショットのリストがあります。これらのスナップショットのいずれかを選択すると、ツリーマップビューがメモリ使用量に基づいて重み付けされたノードを表示します。

チャートとサーバーのメモリ不足スナップショットを使用して、メモリリークを診断する方法を示します:
スパイクを特定します。サーバークラッシュチャートでメモリ不足クラッシュのスパイクに気づいた場合、プレースバージョンでフィルタリングしてメモリリークの場所を確認します。

スナップショットを選択します。メモリスナップショットを下にスクロールし、最新のタイムスタンプまたはサーバーの稼働時間でリストを調べます。サーバーが起動してから数分以内にクラッシュしたスナップショットを選択した場合、初期化中に大規模な急激なメモリスパイクがあったことを示唆しています。

メモリを可視化します。スナップショットをツリーマップビューで開き、各ノードをクリックして、クラッシュ時にどのサービス、フォルダー、またはアセットがメモリを支配していたかを確認します。例えば、次のビデオのツリーマップビューでは、Cloudsが最大のノードとして強調され、その後ParticleEmitterがCloudsノードの50%を占めていることを示し、重いアセットが起動時にメモリにクローンされているが、適切に親付けまたは破棄されていないことを示しています。
調査して修正します。ビューアのパンくずリストを使用して、膨張したノードの文脈をたどります。特定のアセットはランタイム中に動的に生成されるため、このパスをスタジオのエクスプローラーウィンドウでの出発点として使用し、クリーンアップロジックを追加し、次のアップデートを監視して修正を確認します。
