/// <summary>
/// 获取内存信息
/// </summary>
/// <returns></returns>
private static dynamic GetRamInfo()
{
if (IsUnix())
{
var output = ShellUtil.Bash("free -m");
var lines = output.Split("\n");
var memory = lines[1].Split(" ", StringSplitOptions.RemoveEmptyEntries);
return new
{
Total = double.Parse(memory[1]),
Used = double.Parse(memory[2]),
Free = double.Parse(memory[3])
};
}
else
{
var output = ShellUtil.Cmd("wmic", "OS get FreePhysicalMemory,TotalVisibleMemorySize /Value");
var lines = output.Trim().Split("\n");
var freeMemoryParts = lines[0].Split("=", StringSplitOptions.RemoveEmptyEntries);
var totalMemoryParts = lines[1].Split("=", StringSplitOptions.RemoveEmptyEntries);
var total = Math.Round(double.Parse(totalMemoryParts[1]) / 1024, 2);
var free = Math.Round(double.Parse(freeMemoryParts[1]) / 1024, 2);
return new
{
Total = total,
Free = free,
Used = total - free
};
}
}