1

Similar documents
NetworkVantage 9

インテル(R) Visual Fortran コンパイラ 10.0

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

Microsoft Word - VB.doc

Team Foundation Server 2018 を使用したバージョン管理 補足資料

SystemDirector Developer's Studio(V3.2) 適用ガイド

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

WebOTXプロファイラを使用したメモリリーク調査方法

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Microsoft Word -

1. アンケート集計サンプルについて ここでは Windows Azure と SQL Azure を使ってアンケートを実施し アンケート結果を Excel で集計するサンプルについて説明します アンケートは Windows Azure で運用し アンケート結果は SQL Azure に格納されます

FileExplorer for ASP.NET Web Forms

Prog2_15th

シヤチハタ デジタルネーム 操作マニュアル

Prog2_12th

Microsoft Word - ModelAnalys操作マニュアル_

BricRobo V1.5 インストールマニュアル

2 / 26 平成 26 年 4 月 11 日 ( 金 ) 午後 1 時 9 分 Visual C Express の使用法 ( 東海大学理学部物理学科 ) 無償で利用できる開発環境 (Windows XP 以降 ) Visual Studio 2010 Express

1 開発ツールのインストール 最初に JDK をインストールし 次に IDE をインストールする という手順になります 1. JDK のインストール JDK のダウンロードとインストール JDK は次の URL でオラクル社のウェブページからダウンロードします

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

Source Insight

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

Microsoft Word - XOOPS インストールマニュアルv12.doc

HP Primeバーチャル電卓

IME( 日本語入力システム ) の確認 変更方法 / プロパティ確認の手順 ************************************************************************************ ドキュメント目次 IME( 日本語入力システム )

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

1. はじめに本書では WindowsOS 用 Dr.Web アンチウイルス 及び Dr.Web Security Space に含まれている Dr.Web Firewall コンポーネントをインストールし 使用する方法を説明しています 2. そもそも Firewall とはそもそも Firewal

第 2 版

Microsoft Word - Mac版 Eclipseの導入と設定.docx

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

目次 第 1 章はじめに 電子入札システムを使用するまでの流れ 1 第 2 章 Java ポリシーを設定する前に 前提条件の確認 2 第 3 章 Java のバージョンについて Java バージョン確認方法 Java のアンインストール ( ケース2の

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利

1. はじめに本手順書は インテリジェントウェイブ社 ( 以下 IWI 社 ) の株主のお客様が IWI 社から株主優待として配布された Doctor Web 社のアンチウイルス製品 ( 以下 Dr.Web Anti-Virus) のバージョン のいずれかをご利用中で 同製品のバー

2. 製品のインストール時にライセンスキー登録を行う方法製品のインストール途中で [ 製品のライセンスと登録 ] が表示されます (1) 25 文字キーにチェックを入れ [ 次へ ] をクリックします (2) [ ライセンスキーの入力 ] 画面が表示され テキストボックス内にライセンスキーを入力しま

Sharing the Development Database

WebReportCafe

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63>

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

1 SmartArt の機能を使って, 要点を図形にまとめましょう Power Point2007 から, SmartArt という機能が追加されました これは, 図形を使って, 内容の要点 ( キーワード ) などを, 美しく, わかりやすく提示するための機能です この機能を使うときは, 内容に合

クラス図とシーケンス図の整合性確保 マニュアル

さかほぎラクホン 利用マニュアル お問い合わせ先 坂祝町役場総務課 本書の一部又は全部を許可なく複製することを禁じます 本書の内容は予告なく変更することがあります ラクホン は 株式会社システムアドバンスの登録商標です

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 3 章 UWP アプリの開発 L

はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ

PowerPoint Presentation

ArcGIS Pro 1.1 SDK for .NET インストール ガイド

DrugstarPrime アップデート手順書 ( ネットワークアップデート用 ) DrugstarPrime アップデート手順書 ( ネットワークアップデート用 ) Ver4.6.0 DrugstarPrime のアップデート手順をご案内いたします [ 全 13 ページ ] 内容 1. はじめに.

SIMA地番テキスト配置 操作説明書

検証事例 富士通株式会社

改版履歴 版数 日付 改訂内容 1.0 新規操作マニュアル作成 /1/24 NORM Ver2.0.0 変更点の修正

LINE WORKS セットアップガイド目次 管理者画面へのログイン... 2 ドメイン所有権の確認... 3 操作手順... 3 組織の登録 / 編集 / 削除... 7 組織を個別に追加 ( マニュアル操作による登録 )... 7 組織を一括追加 (XLS ファイルによる一括登録 )... 9

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *

一般社団法人日本内部監査協会

C1Live

シーケンス図の作成 機能ガイド

HOL14: Microsoft Office Excel 2007 の ブラウザと Web サービス対応

検証事例 富士通株式会社

一般社団法人ビジネス機械・情報システム産業協会

DrugstarPrime アップデート手順書 DrugstarPrime アップデート手順書 DrugstarPrime のアップデート手順をご案内いたします 本書は DrugstarPrime2 DrugstarPrime に共通の手順書です 手順内の画面は Prime2 を使用しています [

Prog2_4th

(6) コンボドライブのドライブ文字の変更 コンピュータの管理 ウィンドウの右下側フレームの CD-ROM 0 DVD (E:) と書かれた箱 ( 図 02-2) にマウスのポインタを合わせ, 右ボタンをクリックしてメニューを表示する メニューから ドライブ文字とパスの変更 (C)... を選択する

UMLプロファイル 機能ガイド


WebOTXマニュアル

Rational Roseモデルの移行 マニュアル

PowerPoint プレゼンテーション

目次 動作環境について... 2 山地災害危険箇所マップとは... 3 更新情報を見る... 5 関連サイトのリンク情報を見る... 6 利用上の留意事項を確認する... 7 山地災害危険箇所マップを参照する... 8 地図の表示範囲を変更する ( 拡大 縮小 移動 )... 9 地図の表示内容を変

Microsoft PowerPoint - kakeibo-shiryo1.pptx

クライアントソフトの導入方法 (macos 版 ) 日本医師会 ORCA 管理機構株式会社

Office365 スマートフォンからの活用 <メール/予定表/OneDrive>

CodeGear Developer Camp

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

Windows 編 1. 基本操作 ( 起動 終了 ) (1) 起動方法 PC に保存したプログラムファイルをダブルクリックしてください (2) 終了方法メニュー画面の 終了 をクリックします 終了時には 登録データ ( 体重 服用量 ) の保存確認画面が表示されます 必ず保存を選択してから終了して

産能大式フローチャート作成アドインマニュアル

やってみようINFINITY-製品仕様書 品質評価表 メタデータ 編-

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

管理ツールページ管理お知らせ 記事デザインアクセス解析設定お問い合わせフォームの作成 お問い合わせフォーム をクリック 5 フォーム欄に選択したフォーム名が表示されます OK ボタン5をクリックします 4 お問い合わせフォームの完了 ツールバーの お問い合わせフォーム をクリックします 6 6 指定

ソースコードの生成と読み込み 機能ガイド

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

. はじめに 動作環境の全ブラウザで 本書の設定を行ってください 本設定を行わない場合 システムが 正常に動作しない可能性がありますので 必ず設定をお願いいたします また 本書の中で 画 像に番号を付与している箇所以外の設定は お使いの環境のままでご使用ください 参考 : 動作環境の全ブラウザについ

目次 第 1 章はじめに 取扱いについて 記載内容について... 6 第 2 章基本操作 OneNote Online を開く ノートブックを開く ノート ( セクション ) を作成する... 11

TestDesign for Web

WebSAM System Navigator JNS isadmin SNMP Trap 連携設定手順書 NEC 2012 年 12 月

<90568A838E E7193FC8E AE8DEC8AC28BAB82CC92C789C182C68F9C8A4F82C982C282A282C A8926D82E782B9816A5F8A6D92E894C52E786477>

グラフ作成手順書

VFD256 サンプルプログラム

スライド 1

付録 :Google ツールバーの設定手順 (1) ブラウザバージョンの確認 まず お使いのブラウザ (Internet Explorer) のバージョンを確認します 手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ヘルプ/ バージョン情報 メニューを選択しま

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

manual_ezcap_edit

WebOTXマニュアル

(1) ブラウザバージョンの確認 まず お使いのブラウザ (Internet Explorer) のバージョンを確認します 本システムの動作環境として Internet Explore 11 を使用します 手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ヘルプ

環境確認方法 (Windows の場合 ) OS 動作環境日本語版 Windows 7, 8, 8.1, 10 であること 確認方法 Windows キーを押しながら R キーを押します または [ スタート ] メニューから [ ファイル名を指定して実行 ] ( または [ プログラムとファイルの

図 1:[ バージョン情報 ] ウィンドウ 図 1 からわかるとおり 本稿は Visual Studio Community 2017 Ver をもとに執筆していま す 3. 本書相当のテンプレートの作成 Ver.15.7では 本書で利 しているテンプレートはなくなってしまいましたが

Transcription:

DevPartner メモリ分析機能について DevPartner Studio ( 以降 DPS と記す ) のメモリ分析機能は Visual Studio 2005 2008 2010 2012 の VB.NET や C# などのマネージ言語で作成したシステムのメモリ使用状態を分析する機能です このドキュメントは メモリ分析 の代表的な使用方法を簡単に説明するものです ) 当資料は DPS11.1( 日本語版 ) 用に作成されております その他のバージョンでは画面構成や使用できる機能 対応言語に違いがある場合がございます メモリ分析機能の詳細に関しては DevPartner のヘルプを参照下さい d

目次 1 メモリ分析の機能概要... 3 2 メモリ分析の設定... 4 3 メモリ分析の起動... 5 3.1 RAMフットプリント機能... 6 3.2 一時オブジェクト分析... 7 3.2.1 一時オブジェクトの分析... 7 3.2.2 一時オブジェクトの詳細分析... 8 3.3 メモリリーク分析... 9 3.3.1 メモリリーク分析の開始... 9 3.3.2 ガベージコレクションの実行... 10 3.3.3 メモリリーク分析のスナップショット... 10 3.3.4 メモリリーク分析結果の表示...11 3.3.5 メモリリークの詳細分析...11 4 メモリ使用量分析 (RAM フットプリント ) の具体例... 12 4.1 対象プログラムの実行... 12 4.2 メモリ分析画面の確認... 12 4.3 スナップショットによるメモリ使用量の分析 ( オブジェクト単位 )... 13 4.3.1 スナップショット結果画面 ( オブジェクト単位 )... 13 4.3.2 メモリ分析の結果詳細画面 ( オブジェクト単位 )... 14 4.4 スナップショットによるメモリ使用量の分析 ( メソッド単位 )... 17 4.4.1 スナップショット結果画面 ( メソッド単位 )... 17 4.4.2 メモリ分析の結果詳細画面 ( メソッド単位 )... 18 2

1 メモリ分析の機能概要 DevPartner Studio のメモリ分析には 以下の 3 種類の機能があります 各機能の使用方法に 関しては 次ページ以降の説明を参照下さい 表 1-1 メモリ分析の機能 機能 説明 1. RAMフットプリント メモリの使用状況をリアルタイムに分析 2. 一時オブジェクト分析 一時オブジェクトを分析し メソッド単位 ソースコード単位にバイト数を表示 3. メモリリーク分析 ( オブジェクトリーク分析 ) 参照が残っているオブジェクトを分析し メソッド単位 ソースコード単位にバイト数を表示 ) メモリリーク分析は アプリケーション内の残存しているオブジェクトに関するメモリ情 報を表示するものです メモリリークの可能性があるものを指摘いたしますので 実際にメモリ リークかどうかはオブジェクトの生成や開放のロジックと合わせて御判断下さい 3

2 メモリ分析の設定 メモリ分析 機能を実行する前に メモリ分析対象を確認します Visual Studio において プロジェクトのプロパティ システムオブジェクトの追跡 は 標準設定では True になっています 使用しているマシンのメモリが少ない場合や メモリ分析 機能を実行するとパフォーマンスが悪くなる場合などには この値を False にします 図 2-1 メモリ分析のプロパティ設定 4

3 メモリ分析の起動 メモリ分析 機能で解析しながら対象プログラムを実行することで メモリの使用状況を数値化して画面に表示します Visual Studio で分析対象のソリューションを開き メニューから DevPartner デバッグを実行せずにメモリ分析を選択して開始 をクリックし実行します 図 3-1 メモリ分析の起動 メモリ分析モードで起動すると 以下のようなメモリ分析画面が表示されます 画面上部には メモリ使用量のグラフ 画面下部にはクラス毎のメモリ使用量が表示されます この画面情報はリアルタイムに更新されていきます クラス毎のメモリ使用量 メモリ使用量グラフ 図 3-2 実行中のメモリ分析 5

3.1 RAM フットプリント機能 メモリ分析の画面から RAMフットプリントを表示 機能をクリックすることで その瞬間のメモリ使用状況を確認 保存することが出来ます RAM フットプリントを表示 図 3-3 RAM フットプリントの実行 図 3-4 RAM フットプリントのスナップショット 6

3.2 一時オブジェクト分析メモリ分析の画面から 一時オブジェクト タブを選択すると 一時オブジェクト分析用の画面になります この画面で 一時オブジェクトを表示 メニューをクリックします [ 一時オブジェクト ] タブ 一時オブジェクトを表示 図 3-5 一時オブジェクトタブ 3.2.1 一時オブジェクトの分析上部にはエントリポイント単位 下部にはメソッド単位で 一時オブジェクトのメモリ使用量が多いものを上位 5つ表示します それぞれにある すべての情報を表示 ボタンを押下することで詳細情報を表示します 図 3-6 一時オブジェクトメモリ量の上位 5 表示 7

3.2.2 一時オブジェクトの詳細分析一時オブジェクトのサイズ ( バイト数 ) をメソッド単位 ソースコード単位で表示します メモリサイズによるコールグラフも表示されますので一時オブジェクトを大量に発生させている箇所を見つけるのに役立ちます 図 3-7 一時オブジェクトの詳細表示 8

3.3 メモリリーク分析 メモリ分析の画面から メモリリーク タブを選択すると メモリリーク分析用の画面になります 図 3-8 メモリリークタブ 3.3.1 メモリリーク分析の開始メモリリーク分析画面で メモリ割り当ての追跡の開始 を実行します グラフ上に 追跡オン と表示され メモリリーク分析が開始されます メモリ割り当ての追跡開始 メモリ割り当ての追跡が開始された状態 図 3-9 メモリリーク分析の開始 データ収集の対象であるアプリケーションの機能を一度最後まで実行します ただし アプリケーションは終了しないでください 9

3.3.2 ガベージコレクションの実行 ガベージコレクションの実行 をクリックして アクティブなプロセスに対してガ ベージコレクションを実行します ガベージコレクションの実行 図 3-10 ガベージコレクションの実行 3.3.3 メモリリーク分析のスナップショット 追跡オン を実行した後 図 3-10の メモリリークの表示 ボタンを押下すると 追跡を開始してから メモリリークの表示 ボタン押下までの間のメモリリーク分析結果を画面に表示します ( 図 3-11) ) この 追跡開始 から メモリリークの表示 までの間に メモリリークを解析したいプログラム機能を実際に実行します メモリリークを表示 図 3-111 メモリリーク分析の開始 10

3.3.4 メモリリーク分析結果の表示上部にはオブジェクト単位 下部にはメソッド単位で メモリリークと思われるメモリが多いものを上位 5つ表示します それぞれにある すべての情報を表示 ボタンを押下することで詳細情報を表示します 図 3-122 メモリリーク分析結果の表示 3.3.5 メモリリークの詳細分析メモリリークと思われるメモリのサイズ ( バイト数 ) をメソッド単位 ソースコード単位で表示します メモリサイズによるコールグラフも表示されますのでメモリリークが発生していると思われる箇所を見つけるのに役立ちます 図 3-133 メモリリーク情報の詳細表示 11

4 メモリ使用量分析 (RAM フットプリント ) の具体例作成したプログラムがメモリを大量に使用してしまう場合 プログラムを実際に動作させ RAM フットプリント機能によってメモリ消費量を数値によって確認します 4.1 対象プログラムの実行分析したいプロジェクト ( ソリューション ) を Visual Studio で開き メニューから DevPartner - デバッグを実行せずにメモリ分析を選択して開始 を実行します 図 4-1 メモリ分析の起動 4.2 メモリ分析画面の確認分析中のプログラムが どれくらいメモリを使用しているかリアルタイムに監視します メモリ使用量グラフが高くなるタイミングや インスタンス数 や バイト数 が高いオブジェクトに注目します 図 4-2 メモリ分析画面の確認 12

4.3 スナップショットによるメモリ使用量の分析 ( オブジェクト単位 ) メモリの詳細情報を見たいタイミングで RAM フットプリントボタンを押すことでスナ ップショット画面が表示されます RAM フットプリントを表示 図 4-3 RAM フットプリントの実行 4.3.1 スナップショット結果画面 ( オブジェクト単位 ) スナップショット画面において オブジェクト単位でメモリ使用量を追いかけたい場合は 上部の棒グラフを参照します メモリを多く使用して上位 5つのオブジェクトが表示されます 詳細表示ボタンで より細かい情報を表示することが出来ます オブジェクト単位のメモリ使用量 詳細表示ボタン 図 4-4 RAM フットプリントのスナップショット 13

4.3.2 メモリ分析の結果詳細画面 ( オブジェクト単位 ) オブジェクト毎に 参照バイト数 参照オブジェクト数 が表示されます このケースでは MemoryAnalysis という名前のオブジェクトが内部に 107 個のオブジェクトへの参照を持ち 207,248 バイトを使用していることがわかります オブジェクト名 参照バイト数 参照オブジェクト数 図 4-5 メモリ分析結果 ( オブジェクト単位 ) オブジェクト MemoryAnalysis を詳細に分析するために 当該オブジェクトを選択した状態で マウスの右ボタンでメニューから このオブジェクトによって参照されているライブオブジェクトを表示 を実行します 参照オブジェクト情報表示メニュ 図 4-6 参照オブジェクト詳細表示 14

分析対象のオブジェクトが内部で参照しているオブジェクトの 上位 200 がリスト表示されます この場合 オブジェクト MemoryAnalysis の中で MyCollection という名前のオブジェクトが最も多い 206,628 バイトを使用していることがわかります 図 4-7 参照オブジェクト詳細表示実行 問題と思われる参照オブジェクトを ソースコードレベルで確認します 対象オブジェクトを選択し マウス右ボタンメニューから ソースを表示 を実行します ソースコードを表示 図 4-8 ソースコード表示メニュー 15

画面下部に表示されるソースコード行単位でのメモリ使用量をチェックします メモリを多く使用している箇所が見当たらない場合は 更に このオブジェクトによって参照されているライブオブジェクトを表示 メニューを使って 下位オブジェクトを分析します 当該のソースコードと行単位のメモリ使用量 図 4-9 ソースコード表示メニュー 同様の手順を繰り返すことで 問題の行を特定します このサンプルの場合では String" オブジェクト中の行で 4,112 バイトのメモリが消費されていることが特定されています 問題と思われるソースコード行 図 4-10 ソースコード表示メニュー 16

4.4 スナップショットによるメモリ使用量の分析 ( メソッド単位 ) メモリの詳細情報を見たいタイミングで RAM フットプリントボタンを押すことでス ナップショット画面が表示されます RAM フットプリントを表示 図 4-11 RAM フットプリントの実行 4.4.1 スナップショット結果画面 ( メソッド単位 ) スナップショット画面において メソッド単位でメモリ使用量を追いかけたい場合は 下部の棒グラフを参照します メモリを多く使用して上位 5つのメソッドが表示されます 詳細表示ボタンで より細かい情報を表示することが出来ます メソッド単位のメモリ使用量 詳細表示ボタン 図 4-12 RAM フットプリントのスナップショット 17

4.4.2 メモリ分析の結果詳細画面 ( メソッド単位 ) メソッド毎に 使用メモリバイト数 使用メモリ量 / 比率 が表示されます ライブサイズ / 下位も含む (%) の項目をクリックして メモリ使用率( 下位のメソッドを含む ) で降順に表示します メソッド名 参照バイト数 下位メソッドを含むメモリ使用比率 図 4-13 メモリ分析結果 ( メソッド単位 ) メソッドリストの一番上に表示されるのが 最もメモリを使用しているメソッドです マウスで選択すると 画面下部にメモリコールグラフが表示されます 最もメモリを使用しているメソッド メモリコールグラフ 図 4-14 メモリコールグラフ 18

ボトルネックと思われるメソッドにたどり着いたら コールツリー上のメソッドを選択し マウス右ボタンメニューから ソースを表示 を実行します ソースコードを表示 図 4-155 メソッド選択後の ソースを表示 メニュー ソースコード行単位で使用メモリ量が表示されます 問題と思われるソースコード行 図 4-166 ソースコード単位のメモリ使用量 19