define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址
define("DB_SERVER", "172.16.7.2"); //存放数据的服务器IP地址
define("DB_USER", "root");
define("DB_PWD","111111");
define("DB_NMAE","performance");
class MyConnect{public function connect($db_server,$db_user,$db_pwd,$db_name){$conn = mysql_connect($db_server,$db_user,$db_pwd);if (!$conn){die('连接数据库失败: ' . mysql_error());}$flag = mysql_select_db($db_name,$conn);if(!$flag){echo "数据库连接出错!";exit();}else{mysql_query("SET NAMES UTF8");}}
}
?>

2、获取服务器性能数据的文件 get_used_status.php

/*** 获取服务器性能CPU、内存、硬盘等使用率
* Edit bbs.it-home.org
*/
/*连接数据 begin*/
include("conn.php");
$obj_MyConnect = new MyConnect();
$obj_MyConnect -> connect(DB_SERVER,DB_USER,DB_PWD,DB_NMAE);
/*连接数据 end*/
function get_used_status(){
$fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//获取某一时刻系统cpu和内存使用情况
$rs = "";
while(!feof($fp)){
$rs .= fread($fp,1024);
}
pclose($fp);
$sys_info = explode("\n",$rs);
$tast_info = explode(",",$sys_info[3]);//进程 数组$cpu_info = explode(",",$sys_info[4]); //CPU占有量 数组
$mem_info = explode(",",$sys_info[5]); //内存占有量 数组
//正在运行的进程数$tast_running = trim(trim($tast_info[1],'running'));
//CPU占有量
$cpu_usage = trim(trim($cpu_info[0],'Cpu(s): '),'%us'); //百分比
//内存占有量
$mem_total = trim(trim($mem_info[0],'Mem: '),'k total');
$mem_used = trim($mem_info[1],'k used');
$mem_usage = round(100*intval($mem_used)/intval($mem_total),2); //百分比
/*硬盘使用率 begin*/$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],'%'); //挂载点 百分比
//print_r($hd);
/*硬盘使用率 end*/
//检测时间
$fp = popen("date +\"%Y-%m-%d %H:%M\"","r");
$rs = fread($fp,1024);
pclose($fp);
$detection_time = trim($rs);
/*获取IP地址 begin*/
/*
$fp = popen('ifconfig eth0 | grep -E "(inet addr)"','r');
$rs = fread($fp,1024);
pclose($fp);
$rs = preg_replace("/\s{2,}/",' ',trim($rs)); //把多个空格换成 “_”
$rs = explode(" ",$rs);
$ip = trim($rs[1],'addr:');
*/
/*获取IP地址 end*/
/*
$file_name = "/tmp/data.txt"; // 绝对路径: homedata.dat
$file_pointer = fopen($file_name, "a+"); // "w"是一种模式,详见后面
fwrite($file_pointer,$ip); // 先把文件剪切为0字节大小, 然后写入
fclose($file_pointer); // 结束
*/
return array('cpu_usage'=>$cpu_usage,'mem_usage'=>$mem_usage,'hd_avail'=>$hd_avail,'hd_usage'=>$hd_usage,'tast_running'=>$tast_running,'detection_time'=>$detection_time);
}
//echo date("Y-m-d H:i:s",time())."
";
$status=get_used_status();
$sql = "insert into performance(ip,cpu_usage,mem_usage,hd_avail,hd_usage,tast_running,detection_time) ";
$sql .= " value('".MONITORED_IP."','".$status['cpu_usage']."','".$status['mem_usage']."','".$status['hd_avail']."','".$status['hd_usage']."','".$status['tast_running']."','".$status['detection_time']."')";
$query = mysql_query($sql) or die("SQL 语句执行失败!");
unset($status);
//echo date("Y-m-d H:i:s",time())."
";
?>

php获取linux服务器CPU、内存、硬盘使用率的实现代码相关推荐

  1. Linux 查看CPU 内存 IO使用率,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  2. 一个用了统计CPU 内存 硬盘 使用率的shell脚本

    一个用了统计CPU 内存 硬盘 使用率的shell脚本 一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 代码如下: #!/bin/bash #This script is use ...

  3. golang 获取cpu 内存 硬盘 使用率 信息 进程信息

    目录 1.获取 cpu 内存 磁盘使用率 2.获取本机信息 3. 获取CPU信息 4. 获取内存信息 5.获取磁盘信息 6.获取网络信息 7. 获取进程信息 使用库: go get github.co ...

  4. 处理器仿存带宽_linux服务器CPU内存硬盘读写带宽等性能测试方法

    如何对一个VPS主机进行CPU内存,硬盘IO读写,带宽速度等项目测试,像UnixBench和压力测试则可以综合反映一个VPS的性能水平,方便大家对照参考. VPS性能测试:CPU内存,硬盘IO读写,带 ...

  5. Java获取linux服务器cpu、内存、硬盘相关信息

    需要用到jcraft依赖,如果依赖失效,请前往官方获取jcraft官网,maven地址https://search.maven.org/artifact/com.jcraft/jsch <dep ...

  6. AIX和LINUX主机 CPU 内存 磁盘使用率监控

    AIX监控 磁盘使用率监控 df -g|grep -v Filesystem|grep -v proc|awk ' gsub(/%/,"",$4) {print $7 " ...

  7. python glances来监控linux服务器CPU 内存 IO使用

    什么是 Glances? Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具. 通过 Glances,我们可以监视 ...

  8. php 获取服务器进程数,PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率...

    数据库配置文件: conn.php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 ...

  9. 如何查看linux网络io,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

最新文章

  1. 《剑指offer》-数组中只出现一次的数字
  2. 疫情防控,开发者集结出战!
  3. codeforces 431 B Shower Line【暴力】
  4. iOS 微信消息拦截插件系列教程-附录(服务端成果展示)
  5. 日历看板 element日历组件
  6. 数据库实验二 数据查询
  7. 凭什么软件测试入门就有一万+工资,为什么?我不相信。
  8. 教你在五分钟构建一个App页面
  9. 55欧式空间02——正交矩阵、欧氏空间的同构
  10. 北师大 外国教育史-2(古罗马教育、中世纪教育)
  11. java内部错误2203,win7系统安装Java出现"内部错误2203"问题的解决方法
  12. 【Linux服务器】登录Linux服务器后,登陆信息显示佛祖保佑、永不死机,小猪佩奇等图案
  13. VMware虚拟机无网络
  14. 【076】朴素贝叶斯介绍
  15. P1102 A-B 数对
  16. java面试题对日开发_【埃森哲Java面试】面试的是对日java的后端开发-看准网
  17. Thonny连接PiPico出现Device is busy or does not respond.解决方法
  18. python定义定长数组_python 初始化一个定长的数组实例
  19. ELK日志分析平台的搭建
  20. GISer入门指南 第二季(PPTX)

热门文章

  1. php邀请码插件,织梦DedeCMS的会员邀请码注册插件 后台可生成邀请码
  2. 经济学人:Win7标志IT时代变迁nbsp;云…
  3. Python开发 之 去除字符串中 首个指定字符串
  4. 主成分分析二级指标权重_主成分分析法 - 确定多因素影响权重
  5. 人人车否认破产称地方经营型模式升级为合伙人模式
  6. [转帖]欧洲中世纪宗教饰品(哥特艺术精品展示)
  7. 成都理工大学计算机基础考试题型,成都理工大学计算机基础作业.doc
  8. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
  9. PyQt(Python+Qt)学习随笔:invisibleRootItem方法访问QTreeWidget树型部件的隐形根节点
  10. 使用 Charles 简单解决微信开发者工具网络连接失败的问题