NonSoft

メモリ空き容量を表示するサンプル(C#.NET)


 サンプル(ソース/コード)
<このサンプルの概要>
物理メモリの空き容量(タスクマネージャの物理メモリ(KB)の利用可能値)を表示するサンプル(C#.NET)です。
タスクマネージャーのようなカッコイイものでは無くDebug.WriteLineで表示するだけです。

ポイントとなるキーワードは以下の通りです。
(1)PerformanceCounter.CategoryName
(2)PerformanceCounter.CounterName
(3)PerformanceCounter.InstanceName
(4)PerformanceCounter.NextValue

VB.NET版はこちらです。
メモリ空き容量を表示するサンプル(VB.NET)

メモリの空き容量を表示する関連ツールがありますので紹介します。
プロセスLOG出力&表示ツールはメモリの空き容量を定期的に記録するツールです。
パフォーマンス表示SCRはメモリの空き容量を表示するスクリーンセーバーです。

★フォームモジュール(Form1.cs)
public partial class Form1 : Form
{
    /// <summary>
    /// パフォーマンスカウンタを配列で定義(メモリ空き容量取得用)
    /// </summary>
    /// <remarks></remarks>
    private System.Diagnostics.PerformanceCounter[] PerCnts =
        new System.Diagnostics.PerformanceCounter[1];

    /// <summary>
    /// フォームロード
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
    /// <remarks>フォームロード時にパフォーマンスカウンタを初期設定する</remarks>
    private void Form1_Load(object sender, EventArgs e)
    {
        // メモリ空き容量を取得するための設定
        PerCnts[0] = new System.Diagnostics.PerformanceCounter();
        // メモリ関係
        PerCnts[0].CategoryName = "Memory";
        // メモリ空き容量(KBytes)
        PerCnts[0].CounterName = "Available KBytes";
        // メモリ空き容量取得開始
        PerCnts[0].NextValue();
    }

    /// <summary>
    /// メモリ空き容量を表示するタイマー
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
    /// <remarks>定期的にメモリ空き容量を表示する</remarks>
    private void timer1_Tick(object sender, EventArgs e)
    {
        // メモリ空き容量を表示(タスクマネージャの物理メモリ(KB)の利用可能値)
        System.Diagnostics.Debug.WriteLine(
            PerCnts[0].NextValue().ToString("#,###") + " KBytes");
    }
}