メモリプロファイラー

概要と主要な概念

[メモリプロファイラー]ウィンドウでは、FlexSimでメモリがどのように使用されているかを確認できます。

メモリプロファイラーは、FlexSimのツリーを調査し、各ノードのメモリ使用量を見積もることによって機能します。

メモリプロファイラーには、メモリデータを表示するための2つのメインビューがあります。1つ目のビューは、左側のメモリツリーです。このビューには、ツリー内の各ノードとそのノードのメモリ使用量の見積もりが表示されます。ノードのリストは、メモリ使用量の多い順に並べられます。

メモリプロファイラーの2つ目のビューはメモリグラフです。このビューでは、各ノードがボックスとして表示されます。大きいボックスは、特定のノードによるメモリ使用量が多いことを示し、小さいボックスは、メモリ使用量が少ないことを示します。また、ボックスはメモリ使用量によって色分けされます。最も明るい黄色のボックスが最も多くのメモリを使用しているノードに対応します。最も暗い紫色のボックスが最も少ないメモリを使用しているノードに対応します。

この2つのビューは連動します。たとえば、メモリツリービュー内のノードをクリックすると、そのノードがメモリグラフに赤色の枠付きで表示されます。

また、メモリグラフでボックスをクリックすると、メモリツリー内のそのボックスが強調表示されます。

この例では、モデルが統計コレクターを使用して何らかのデータを記録しています。この特別な統計コレクターが最も多くのデータを使用しているノードです。

場合によっては、メモリプロファイラーを使用して、モデルのメモリ使用量を削減することができます。この例では、大量のメモリがメイン処理フロー内のトークンにだけ割り当てられています。

このモデルには、トークンを生成するが、どのアクティビティにも接続されていないソースが含まれています。恐らく、モデラーが削除し忘れたのでしょう。この役に立たないトークンを生成するソースがなければ、メモリプロファイラーの表示内容も変わってきます。

現在、Toolsフォルダに使用されているメモリは2 MB未満です。この例は、メモリプロファイラーが不要なメモリ使用の特定とモデルからの削除をどのように支援するかを示しています。

メモリプロファイラーには、メインツールバーの[デバッグ]メニューからアクセスできます。

プロパティ

メモリプロファイラーには、次のプロパティがあります。

メモリスナップショットを取得

このボタンは、ツリー内で使用されているメモリの新しい見積もりを作成する場合にクリックします。一度に1つのスナップショットしか表示できないため、新しいスナップショットを取得すると古いスナップショットが削除されます。

メモリツリー

メモリスナップショットを取得すると、このビューにツリー内の各ノードで使用されているメモリの見積もりが表示されます。このリストは見積もり順に並べられます。このツリー内のノードを右クリックして、[ビューアップ]と[ビューダウン]を選択することもできます。[ビューダウン]を選択した場合は、メモリツリーとメモリグラフの両方が、選択されたノードが最上位ノードとして表示されるように更新されます。[ビューアップ]は、ビューを元に戻すことができます。

メモリグラフ

メモリスナップショットの取得が完了すると、このビューにツリー内の各ノードで使用されたメモリの可視化表現が描画されます。大きく明るいボックスは、より多くのメモリを使用したノードを表します。