File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/CMSPages/MemoryTest.aspx.cs
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class MemoryTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
litAlocatedMemory.Text = GetSizeString(GC.GetTotalMemory(false),FileSizeUnitsEnum.Automatic).ToString();
litPeakMemory.Text = GetSizeString(Process.GetCurrentProcess().PeakWorkingSet64, FileSizeUnitsEnum.Automatic).ToString();
litPhysicalMemory.Text = GetSizeString(Process.GetCurrentProcess().WorkingSet64, FileSizeUnitsEnum.Automatic).ToString();
litVirtualMemory.Text = GetSizeString(Process.GetCurrentProcess().VirtualMemorySize64, FileSizeUnitsEnum.Automatic).ToString();
}
public enum FileSizeUnitsEnum
{
/// <summary>
/// Bytes.
/// </summary>
B,
/// <summary>
/// Kilobytes.
/// </summary>
kB,
/// <summary>
/// Megabytes.
/// </summary>
MB,
/// <summary>
/// Gigabytes.
/// </summary>
GB,
/// <summary>
/// Automatic units changing.
/// </summary>
Automatic
}
public static string GetSizeString(long size, FileSizeUnitsEnum unit)
{
double num = (double)size;
if (unit == FileSizeUnitsEnum.Automatic)
{
if (size >= (long)1073741824)
{
unit = FileSizeUnitsEnum.GB;
}
else if (size >= (long)1048576)
{
unit = FileSizeUnitsEnum.MB;
}
else if (size >= (long)1024)
{
unit = FileSizeUnitsEnum.kB;
}
}
switch (unit)
{
case FileSizeUnitsEnum.kB:
{
num = num / 1024;
if (num < 20)
{
return string.Concat(num.ToString("#.#"), " kB");
}
double num1 = Math.Round(num, MidpointRounding.AwayFromZero);
return string.Concat(num1.ToString("#"), " kB");
}
case FileSizeUnitsEnum.MB:
{
num = num / 1048576;
if (num < 20)
{
return string.Concat(num.ToString("#.#"), " MB");
}
double num2 = Math.Round(num, MidpointRounding.AwayFromZero);
return string.Concat(num2.ToString("#"), " MB");
}
case FileSizeUnitsEnum.GB:
{
num = num / 1073741824;
if (num < 20)
{
return string.Concat(num.ToString("#.#"), " GB");
}
double num3 = Math.Round(num, MidpointRounding.AwayFromZero);
return string.Concat(num3.ToString("#"), " GB");
}
}
return string.Concat(num, " B");
}
}