博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过C#获取服务器CPU/内存信息
阅读量:4221 次
发布时间:2019-05-26

本文共 1219 字,大约阅读时间需要 4 分钟。

我的毕业设计中需要传递Linux服务器中的CPU使用率和内存使用率,在网上找了好久都没找到,直到某一天忽然想起来的一种解决方案,就是直接传递文件,这种方法性能实际上并不高,甚至很低,但确实可以实现功能。

 思路说明:在Linux中,存在一个proc目录,该目录存放了非常多有用的信息,比如:

  1. cpuinfo:CPU信息
  2. meminfo:内存信息
  3. /diskstats:磁盘信息
  4. net/dev:网络信息
  5. version:系统版本信息
  6. mounts:当前挂载的文件系统
  7. uptime:系统启动时间

我在项目中直接通过SFTP的方式下载需要的文件到本地,然后自己写一个解析器解析数据,这时你就已经拿到了需要的信息。

这时下载的函数

//通过sftp下载文件        public static void SftpDown(String loca, String Server,String username,String passwd)        {            String ip = Link_Entity.IpAddress;            int port = 22;            try            {                using (var sftpClient = new SftpClient(ip, port, username, passwd))                {                    sftpClient.Connect();                    using (var stream = File.Open(localPath, FileMode.OpenOrCreate))                    {                        sftpClient.DownloadFile(ServerPath, stream);                    }                }            }            catch (Exception)            {                RainnerException.SFTP_DOWNLOAD_WARRING();            }        }

调用下载:

SftpDown(System.Environment.CurrentDirectory + "//Cache//" + "cpu.txt", "/proc/cpuinfo","root","root");

下载完就可以解析使用了,因为其文件内容具有一定固定格式,所有解析起来很简单,这种方法还可以获取非常多的Linux主机信息,当然Java或C/C++只要能实现SFTP的功能,就能获取这些信息。

转载地址:http://ybmmi.baihongyu.com/

你可能感兴趣的文章
2.3 WSN的MAC协议
查看>>
栈与队列的应用——计算表达式的值
查看>>
BFS——求矩阵中“块”的个数
查看>>
BFS——走迷宫的最小步数
查看>>
并查集——好朋友
查看>>
关键路径
查看>>
Web前端学习笔记——JavaScript之事件详解
查看>>
Web前端学习笔记——JavaScript之事件、创建元素、节点操作
查看>>
Web前端学习笔记——JavaScript之正则表达式、伪数组、垃圾回收
查看>>
Web前端学习笔记——JavaScript 之继承、函数进阶
查看>>
Web前端学习笔记——JavaScript之面向对象游戏案例:贪吃蛇
查看>>
不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例
查看>>
一种实用的联网汽车无线攻击方法及车载安全协议
查看>>
光靠欺骗检测是不够的:对抗多目标跟踪的攻击
查看>>
基于微区块链的V2X地理动态入侵检测
查看>>
面向V2C场景的ADAS数字孪生模型构建方法
查看>>
Comma2k19数据集使用
查看>>
面向自动驾驶车辆验证的抽象仿真场景生成
查看>>
一种应用于GPS反欺骗的基于MLE的RAIM改进方法
查看>>
自动驾驶汽车CAN总线数字孪生建模(二)
查看>>