linux core 信息,.NET CORE 获取LINUX硬件CPU使用率等状态信息

cat /proc/stat

vmstat,top,ps aux

三个命令都可以查看CPU内存或者进程等情况

然后看下面的代码

using System;

using System.Diagnostics;

using System.Runtime.InteropServices;

namespace myApp

{

class Program

{

static void Main(string[] args)

{

Process[] p = Process.GetProcesses();//获取进程信息

Int64 totalMem = 0;

string info = "";

foreach (Process pr in p)

{

totalMem += pr.WorkingSet64 / 1024;

info += pr.ProcessName + "内存:-----------" + (pr.WorkingSet64 / 1024).ToString() + "KB\r\n";//得到进程内存

}

Console.WriteLine(info);

Console.WriteLine("总内存totalmem:" + totalMem/1024+"M");

Console.WriteLine("判断是否为Windows Linux OSX");

Console.WriteLine($"Linux:{RuntimeInformation.IsOSPlatform(OSPlatform.Linux)}");

Console.WriteLine($"OSX:{RuntimeInformation.IsOSPlatform(OSPlatform.OSX)}");

Console.WriteLine($"Windows:{RuntimeInformation.IsOSPlatform(OSPlatform.Windows)}");

Console.WriteLine($"系统架构:{RuntimeInformation.OSArchitecture}");

Console.WriteLine($"系统名称:{RuntimeInformation.OSDescription}");

Console.WriteLine($"进程架构:{RuntimeInformation.ProcessArchitecture}");

Console.WriteLine($"是否64位操作系统:{Environment.Is64BitOperatingSystem}");

Console.WriteLine("CPU CORE:"+Environment.ProcessorCount);

Console.WriteLine("HostName:" + Environment.MachineName);

Console.WriteLine("Version:" + Environment.OSVersion);

Console.WriteLine("内存相关的:" + Environment.WorkingSet);

string[] LogicalDrives = Environment.GetLogicalDrives();

for (int i = 0; i < LogicalDrives.Length; i++)

{

Console.WriteLine("驱动:" + LogicalDrives[i]);

}

// Console.ReadLine();

//创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出

var psi = new ProcessStartInfo("top", " -b -n 1") { RedirectStandardOutput = true };

//启动

var proc = Process.Start(psi);

//   psi = new ProcessStartInfo("", "1") { RedirectStandardOutput = true };

//启动

// proc = Process.Start(psi);

if (proc == null)

{

Console.WriteLine("Can not exec.");

}

else

{

Console.WriteLine("-------------Start read standard output-------cagy-------");

//开始读取

using (var sr = proc.StandardOutput)

{

while (!sr.EndOfStream)

{

Console.WriteLine(sr.ReadLine());

}

if (!proc.HasExited)

{

proc.Kill();

}

}

Console.WriteLine("---------------Read end-----------cagy-------");

Console.WriteLine($"Total execute time :{(proc.ExitTime - proc.StartTime).TotalMilliseconds} ms");

Console.WriteLine($"Exited Code : {proc.ExitCode}");

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值