获取服务器状态记录使用的是SHELL命令方式进行获取输出结果  然后进行字符串拆分处理等方式进行获取到自己有用信息

贴出获取方式以及常用处理方式

<?PHP
$fp = popen('执行SHELL命令', "r");
$rs = '';
while(!feof($fp)){
$rs .= fread($fp, 1024);
}
pclose($fp);
//获取到输出结果 rs
$info = explode("\n", $rs); //处理方式1 换行拆分
$info2 = explode(",", $info[0]); //处理方式2 逗号拆分
$info3 = trim($info2[0], '%Cpu(s)'); // 处理方式3 去掉左右字符串
$info4 = preg_replace('/\s{2,}/', $rs); //处理方式4 字符串替换 //根据自己需要的信息不同进行处理 组合处理

处理命令列表记录

//获取CPU使用率以及内存使用率
$fp = popen('top -b -n 2 | grep -E "(Cpu\(s\))|(KiB Mem)"', "r");
/*说明: 获取两次信息,因为只获取一次数据不准确,但是造成返回缓慢,建议做成异步处理
处理方式
$sys_info = explode("\n", $rs);
$cpu_info = explode(",", $sys_info[2]);
$cpu_usage = trim(trim($cpu_info[0], '%Cpu(s): '), 'us'); //百分比 $mem_info = explode(",", $sys_info[3]); //内存占有量 数组
$mem_total = trim(trim($mem_info[0], 'KiB Mem : '), ' total');
$mem_used = trim(trim($mem_info[2], 'used'));
$mem_usage = round(100 * intval($mem_used) / intval($mem_total), 2); //百分比
*/
//获取磁盘占用率
$fp = popen('df -lh | grep -E "^(/)"', "r");
$rs = fread($fp, 1024);
pclose($fp);
$rs = preg_replace('/\s{2,}/', ' ', $rs); //把多个空格换成 “_”
$hd = explode(" ", $rs); $hd_avail = trim($hd[3], 'G'); //磁盘可用空间大小 单位G
$hd_usage = trim($hd[4], '%'); //挂载点 百分比
//获取MAC地址
$fp = popen('lshw -c network | grep serial | head -n 1', "r");
$rs = fread($fp, 1024);
pclose($fp);
$mac = explode(':', $rs);
array_shift($mac);
$macAddr = implode(':', $mac); //XX:XX:XX:XX:XX
//获取内网IP地址
$fp = popen('ip addr | grep inet | grep -v inet6', "r"); /**
结果展示: 自己处理
inet 192.168.1.180/24 brd 192.168.1.255 scope global dynamic
inet 172.20.175.225/28 brd 172.20.175.239 scope global dynamic
inet 127.0.0.1/8 brd 127.255.255.255 scope global dynamic
**/

Linux 下PHP获取服务器状态CPU、MEM使用率、磁盘使用率、IP地址获取、MAC地址获取等信息记录的更多相关文章

  1. 在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址?

    在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址? 使用 dmesg 与 grep 命令来实际,例如以下: [root@localhost ~]# dmesg | grep eth e10 ...

  2. Linux下查看Web服务器当前的并发连接数和TCP连接状态

    对于web服务器(Nginx.Apache等)来说,并发连接数是一个比较重要的参数,下面就通过netstat命令和awk来查看web服务器的并发连接数以及TCP连接状态. $ netstat -n | ...

  3. linux下如何查看服务器的硬件配置信息

    性能测试时一定要确定测试环境和的硬件配置.软件版本配置,保证和线上一致,才更接近真实环境. 那么linux下如何查看服务器的硬件配置信息?? 一.查看cpu信息 1.所有信息 lscpu [root@ ...

  4. Linux下视频流媒体直播服务器搭建详解

    目标: 搭建网络直播流媒体服务器系统(Linux操作系统) 背景: 用于OTT-TV大并发的直播和点播的一套流媒体服务器系统.支持N x 24小时录制回看和直播的服务器端解决方案. 解决方案: l  ...

  5. Linux下安装Tomcat服务器

    Linux下安装Tomcat服务器 一.总结 一句话总结: linux多用才能熟 1.阿里云上面我们买的服务器,怎么让它可以访问特定的端口? 就是给服务器的安全组添加规则:实例-->更多--&g ...

  6. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  7. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  8. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  9. Linux下配置Tomcat服务器

    Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安 ...

随机推荐

  1. vs2017通过模块文件添加自定义注释

    有时我们在VS里建立类和接口时,需要添加比较规范的注释信息,而每次都要复制粘贴比较麻烦,所以需要我们的IDE做一些支持,比较修改VS里自定义的注释模式,以添加自己公司需要的信息格式. 注释比较规范,是 ...

  2. Laravel事件监听器listener与事件订阅者Subscriber的区别

    其实就一句话: Each event can have multiple listeners, but a listener can't listen to more than a single ev ...

  3. HTTPS与SSL(一)

    1.  HTTPS HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版 ...

  4. WPF中的拖放1

    实现了WPF的不同层级间的元素之间的拖放,例子虽小却很经典,引申一下也许可以实现类VS界面的浮动依靠面板. 拖放前: 拖放后: 代码如下: <Window x:Class="WpfAp ...

  5. Mysql数据库操作语句总结(一)

    下面的内容来源于链接 https://www.cnblogs.com/bchjazh/p/5997728.html,  个人在此基础上进一步添加了一点东西. 个人操作数据库:  mysql 5.5.2 ...

  6. [转]Tomcat日志详解

    Tomcat下相关的日志文件: 1.Cataline引擎的日志文件,文件名为catalina.{date}.log 2.Tomcat下内部代码丢出的日志,文件名为localhost.{date}.lo ...

  7. echo -e的用法

    root@bt:~# echo -e "HEAD /HTTP/1.0\n\n"HEAD /HTTP/1.0 root@bt:~# echo -e "HEAD /HTTP/ ...

  8. php 实现格式化数字功能

    php 实现数字格式化功能 /** * @param $num 数字 * @param int $decimal 精度 * @param int $point_len 分隔位长度 * @return ...

  9. 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  10. sql server2016安装程序图

    今天终于有时间安装SQL Server2016正式版,下载那个安装包都用了一个星期 安装包可以从这里下载: http://www.itellyou.cn/ https://msdn.microsoft ...