php 获取服务器,PHP获取服务器状态

~~~

function get_server_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], '%'); //挂载点 百分比

/*硬盘使用率 end*/

//检测时间

$fp = popen("date +\"%Y-%m-%d %H:%M\"", "r");

$rs = fread($fp, 1024);

pclose($fp);

$detection_time = trim($rs);

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

);

}

~~~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值