导航:首页 > 编程语言 > php获取cpu信息

php获取cpu信息

发布时间:2022-08-10 03:22:08

php通过 远程(通过ip) 获取服务器cpu使用率,内存使用率等

你可以这样做,在服务器端放个获取CPU使用率,内存使用率的API,然后你就可以在远程获取这个服务器的CPU和内存使用率的情况了

② 通过php再linux上能拿到cpu序列号吗

可以的。代码如下:
//获取CPU序列号
function getCpuSN()
{
$return_arry = array();
@exec("wmic cpu get processorid", $return_arry);
$cpu_sn = $return_arry[1];
return $cpu_sn;
}
本代码来自 一棵随风倒的小小草 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/hnllc2012/article/details/48733887?utm_source=

③ Windows下 PHP怎么获取CPU和内存使用率。。。。急

参考如下:
获取服务器性能CPU、内存、硬盘等使用率 get_used_status.php
<?php
include("conn.php");
$obj_MyConnect = new MyConnect();
$obj_MyConnect -> connect(DB_SERVER,DB_USER,DB_PWD,DB_NMAE);
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); //百分比
$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);

//检测时间
$fp = popen("date +"%Y-%m-%d %H:%M"","r");
$rs = fread($fp,1024);
pclose($fp);
$detection_time = trim($rs);

④ php怎么获取centos的cpu当前使用率

您好,是这样的:
1、实时CPU使用率:类似任务管理器实时系统信息可以通过top命令查看。显示的信息四个参数分别是:用户的模式(user)、低优先级的用户模式(nice)、系统内核模式(system)以及系统空闲的处理器时间(idle)。
2、查看CPU处理器使用率:对于CPU使用率一般都是通过CPU使用情况,查看/proc/stat cpu状态文件。
3、平均CPU使用率:对于一般某时间段CPU的使用率来说,可以通过查看/pRoc/loadavg 文件信息
4、第三方监控软件查看:网上有很多网管,监控软件安装配置好之后。可以通过网页管理查看CPU等硬件情况和CPU使用率,负载等参数。

⑤ php中有什么函数可以获取电脑硬件信息

//获取电脑的CPU信息
functionOnlyU(){
$a='';
$b=array();
if(function_exists('exec')){
if(mailto:!@exec(/all",$b)){
returnfalse;
}
}elseif(function_exists('system')){
ob_start();
if(mailto:!@system(/all")){
returnfalse;
}else{
}
$b=ob_get_contents();
ob_end_clean();
$b=explode(" ",$b);//print_r($b);
array_pop($b);
}else{
returnfalse;
}
$all=sizeof($b);
for($i=0;$i<$all;$i++){
if(strpos($b[$i],"Description")!==false){
if(strpos($b[$i+1],"PhysicalAddress")!==false){
$c=explode(":",$b[$i+1]);
$a=trim($c[1]);
break;
}
}
}//Endfor
returnempty($a)?false:$a;
}//EndfunctionOnlyU

//获取网卡的MAC的地址
functiongetMAC(){
@exec("ipconfig/all",$array);
for($Tmpa;$Tmpa<count($array);$Tmpa++){
if(eregi("Physical",$array[$Tmpa])){
$mac=explode(":",$array[$Tmpa]);
return$mac[1];
}
}
}

⑥ 如何用PHP得到 硬盘的序号 和 CPU 的序号!

我电脑有是有一个PHP,但是不太好用。建议不要用PHP,可以用别的系统检测软件啊,比如Fresh Diagnose 7.34等等尽在http://www.onlinedown.net/sort/12_1.htm
希望你会喜欢!

⑦ PHP能否获取客户端唯一标识(cpu序列号,mac地址等)

权限足够的情况下,可以输出cpu信息php调用:$a = exec('cat /proc/stat'); php有个执行方式是用``包裹字符串,同样可以在系统上直接执行 同样需要足够的权限。

⑧ php如何获得CPU,内存是使用率

<?php
$str = shell_exec('more /proc/stat');
$pattern = "/(cpu[0-9]?)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "共有".count($out[1])."个CPU,每个CPU利用率如下:<br>";
for($n=0;$n<count($out[1]);$n++)
{
echo $out[1][$n]."=".(100*($out[1][$n]+$out[2][$n]+$out[3][$n])/($out[4][$n]+$out[5][$n]+$out[6][$n]+$out[7][$n]))."%<br>";
}
?>
//////////////////////////////////////////////////////////////////////
<?php
$str = shell_exec('more /proc/meminfo');
$pattern = "/(.+):\s*([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "物理内存总量:".$out[2][0]."<br>";
echo "已使用的内存:".$out[2][1]."<br>";
echo "-----------------------------------------<br>";
echo "内存使用率:".(100*($out[2][0]-$out[2][1])/$out[2][0])."%<br>";
?>
//////////////////////////////////////////////////////////////////////
<?php
$str = shell_exec('more /proc/net/dev');
$pattern = "/(eth[0-9]+):\s*([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "共有".count($out[1])."个网络接口,每个网络接口利用率如下:<br>";
for($n=0;$n<count($out[1]);$n++)
{
echo $out[1][$n].":收到 ".$out[3][$n]." 个数据包,发送 ".$out[11][$n]." 个数据包<br>";
}
?>

⑨ php的服务器cpu数量怎么获取

<?php
header("Content-type:text/html;charset=utf-8");
error_reporting(E_ALL^E_DEPRECATED);
//linux系统探测
functionsys_linux(){
//CPU
if(false===($str=@file("/proc/cpuinfo")))returnfalse;
$str=implode("",$str);
@preg_match_all("/models+names{0,}:+s{0,}([ws)(@.-]+)([ ]+)/s",$str,$model);
@preg_match_all("/cpus+MHzs{0,}:+s{0,}([d.]+)[ ]+/",$str,$mhz);
@preg_match_all("/caches+sizes{0,}:+s{0,}([d.]+s{0,}[A-Z]+[ ]+)/",$str,$cache);
@preg_match_all("/bogomipss{0,}:+s{0,}([d.]+)[ ]+/",$str,$bogomips);
if(false!==is_array($model[1])){
$res['cpu']['num']=sizeof($model[1]);
$res['cpu']['num_text']=str_replace(array(1,2,4,8,16),array('单','双','四','八','十六'),$res['cpu']['num']).'核';
/*
for($i=0;$i<$res['cpu']['num'];$i++){
$res['cpu']['model'][]=$model[1][$i].'&nbsp;('.$mhz[1][$i].')';
$res['cpu']['mhz'][]=$mhz[1][$i];
$res['cpu']['cache'][]=$cache[1][$i];
$res['cpu']['bogomips'][]=$bogomips[1][$i];
}*/
$x1=($res['cpu']['num']==1)?'':'×'.$res['cpu']['num'];
$mhz[1][0]='|频率:'.$mhz[1][0];
$cache[1][0]='|二级缓存:'.$cache[1][0];
$bogomips[1][0]='|Bogomips:'.$bogomips[1][0];
$res['cpu']['model'][]=$model[1][0].$mhz[1][0].$cache[1][0].$bogomips[1][0].$x1;
if(false!==is_array($res['cpu']['model']))$res['cpu']['model']=implode("<br/>",$res['cpu']['model']);
if(false!==is_array($res['cpu']['mhz']))$res['cpu']['mhz']=implode("<br/>",$res['cpu']['mhz']);
if(false!==is_array($res['cpu']['cache']))$res['cpu']['cache']=implode("<br/>",$res['cpu']['cache']);
if(false!==is_array($res['cpu']['bogomips']))$res['cpu']['bogomips']=implode("<br/>",$res['cpu']['bogomips']);
}
//NETWORK
//UPTIME
if(false===($str=@file("/proc/uptime")))returnfalse;
$str=explode('',implode("",$str));
$str=trim($str[0]);
$min=$str/60;
$hours=$min/60;
$days=floor($hours/24);
$hours=floor($hours-($days*24));
$min=floor($min-($days*60*24)-($hours*60));
if($days!==0)$res['uptime']=$days."天";
if($hours!==0)$res['uptime'].=$hours."小时";
$res['uptime'].=$min."分钟";
//MEMORY
if(false===($str=@file("/proc/meminfo")))returnfalse;
$str=implode("",$str);
preg_match_all("/MemTotals{0,}:+s{0,}([d.]+).+?MemFrees{0,}:+s{0,}([d.]+).+?Cacheds{0,}:+s{0,}([d.]+).+?SwapTotals{0,}:+s{0,}([d.]+).+?SwapFrees{0,}:+s{0,}([d.]+)/s",$str,$buf);
preg_match_all("/Bufferss{0,}:+s{0,}([d.]+)/s",$str,$buffers);
$res['mem_total']=round($buf[1][0]/1024,2);
$res['mem_free']=round($buf[2][0]/1024,2);
$res['mem_buffers']=round($buffers[1][0]/1024,2);
$res['mem_cached']=round($buf[3][0]/1024,2);
$res['mem_used']=$res['mem_total']-$res['mem_free'];
$res['mem_percent']=(floatval($res['mem_total'])!=0)?round($res['mem_used']/$res['mem_total']*100,2):0;
$res['mem_real_used']=$res['mem_total']-$res['mem_free']-$res['mem_cached']-$res['mem_buffers'];//真实内存使用
$res['mem_real_free']=$res['mem_total']-$res['mem_real_used'];//真实空闲
$res['mem_real_percent']=(floatval($res['mem_total'])!=0)?round($res['mem_real_used']/$res['mem_total']*100,2):0;//真实内存使用率
$res['mem_cached_percent']=(floatval($res['mem_cached'])!=0)?round($res['mem_cached']/$res['mem_total']*100,2):0;//Cached内存使用率
$res['swap_total']=round($buf[4][0]/1024,2);
$res['swap_free']=round($buf[5][0]/1024,2);
$res['swap_used']=round($res['swap_total']-$res['swap_free'],2);
$res['swap_percent']=(floatval($res['swap_total'])!=0)?round($res['swap_used']/$res['swap_total']*100,2):0;
//LOADAVG
if(false===($str=@file("/proc/loadavg")))returnfalse;
$str=explode('',implode("",$str));
$str=array_chunk($str,4);
$res['load_avg']=implode('',$str[0]);
return$res;
}

//FreeBSD系统探测
functionsys_freebsd(){
//CPU
if(false===($res['cpu']['num']=get_key("hw.ncpu")))returnfalse;
$res['cpu']['num_text']=str_replace(array(1,2,4,8,16),array('单','双','四','八','十六'),$res['cpu']['num']).'核';
$res['cpu']['model']=get_key("hw.model");
//LOADAVG
if(false===($res['load_avg']=get_key("vm.loadavg")))returnfalse;
//UPTIME
if(false===($buf=get_key("kern.boottime")))returnfalse;
$buf=explode('',$buf);
$sys_ticks=time()-intval($buf[3]);
$min=$sys_ticks/60;
$hours=$min/60;
$days=floor($hours/24);
$hours=floor($hours-($days*24));
$min=floor($min-($days*60*24)-($hours*60));
if($days!==0)$res['uptime']=$days."天";
if($hours!==0)$res['uptime'].=$hours."小时";
$res['uptime'].=$min."分钟";
//MEMORY
if(false===($buf=get_key("hw.physmem")))returnfalse;
$res['mem_total']=round($buf/1024/1024,2);
$str=get_key("vm.vmtotal");
preg_match_all("/ VirtualMemory[:s]*(Total[:s]*([d]+)K[,s]*Active[:s]*([d]+)K) /i",$str,$buff,PREG_SET_ORDER);
preg_match_all("/ RealMemory[:s]*(Total[:s]*([d]+)K[,s]*Active[:s]*([d]+)K) /i",$str,$buf,PREG_SET_ORDER);
$res['mem_real_used']=round($buf[0][2]/1024,2);
$res['mem_cached']=round($buff[0][2]/1024,2);
$res['mem_used']=round($buf[0][1]/1024,2)+$res['mem_cached'];
$res['mem_free']=$res['mem_total']-$res['mem_used'];
$res['mem_percent']=(floatval($res['mem_total'])!=0)?round($res['mem_used']/$res['mem_total']*100,2):0;
$res['mem_real_percent']=(floatval($res['mem_total'])!=0)?round($res['mem_real_used']/$res['mem_total']*100,2):0;
return$res;
}

//取得参数值FreeBSD
functionget_key($keyName){
returndo_command('sysctl',"-n$keyName");
}

//确定执行文件位置FreeBSD
functionfind_command($commandName){
$path=array('/bin','/sbin','/usr/bin','/usr/sbin','/usr/local/bin','/usr/local/sbin');
foreach($pathas$p){
if(@is_executable("$p/$commandName"))return"$p/$commandName";
}
returnfalse;
}


//windows系统探测
functionsys_windows(){
if(PHP_VERSION>=5){
$obj_locator=newCOM("WbemScripting.SWbemLocator");
$wmi=&$obj_locator->ConnectServer();
}else{
returnfalse;
}
//CPU
$cpuinfo=GetWMI(&$wmi,"Win32_Processor",array("Name","L2CacheSize","NumberOfCores"));
$res['cpu']['num']=$cpuinfo[0]['NumberOfCores'];
if(null==$res['cpu']['num']){
$res['cpu']['num']=1;
}
$res['cpu']['num_text']=str_replace(array(1,2,4,8,16),array('单','双','四','八','十六'),$res['cpu']['num']).'核';
/*
for($i=0;$i<$res['cpu']['num'];$i++){

$res['cpu']['model'].=$cpuinfo[0]['Name']."<br/>";

$res['cpu']['cache'].=$cpuinfo[0]['L2CacheSize']."<br/>";

}*/
$cpuinfo[0]['L2CacheSize']='('.$cpuinfo[0]['L2CacheSize'].')';
$x1=($res['cpu']['num']==1)?'':'×'.$res['cpu']['num'];
$res['cpu']['model']=$cpuinfo[0]['Name'].$cpuinfo[0]['L2CacheSize'].$x1;
//SYSINFO
$sysinfo=GetWMI(&$wmi,"Win32_OperatingSystem",array('LastBootUpTime','TotalVisibleMemorySize','FreePhysicalMemory','Caption','CSDVersion','SerialNumber','InstallDate'));
$sysinfo[0]['Caption']=iconv('GBK','UTF-8',$sysinfo[0]['Caption']);
$sysinfo[0]['CSDVersion']=iconv('GBK','UTF-8',$sysinfo[0]['CSDVersion']);
$res['win_n']=$sysinfo[0]['Caption'].''.$sysinfo[0]['CSDVersion']."序列号:{$sysinfo[0]['SerialNumber']}于".date('Y年m月d日H:i:s',strtotime(substr($sysinfo[0]['InstallDate'],0,14)))."安装";
//UPTIME
$res['uptime']=$sysinfo[0]['LastBootUpTime'];
$sys_ticks=time()-strtotime(substr($res['uptime'],0,14));
$min=$sys_ticks/60;
$hours=$min/60;
$days=floor($hours/24);
$hours=floor($hours-($days*24));
$min=floor($min-($days*60*24)-($hours*60));
if($days!==0)$res['uptime']=$days."天";
if($hours!==0)$res['uptime'].=$hours."小时";
$res['uptime'].=$min."分钟";
//MEMORY
$res['mem_total']=round($sysinfo[0]['TotalVisibleMemorySize']/1024,2);
$res['mem_free']=round($sysinfo[0]['FreePhysicalMemory']/1024,2);
$res['mem_used']=$res['mem_total']-$res['mem_free'];//上面两行已经除以1024,这行不用再除了
$res['mem_percent']=round($res['mem_used']/$res['mem_total']*100,2);
//LoadPercentage
$loadinfo=GetWMI(&$wmi,"Win32_Processor",array("LoadPercentage"));
$res['load_avg']=$loadinfo[0]['LoadPercentage'];
return$res;
}
functionGetWMI(&$wmi,$strClass,$strValue=array()){
$arrData=array();
$objWEBM=$wmi->Get($strClass);
$arrProp=$objWEBM->Properties_;
$arrWEBMCol=$objWEBM->Instances_();
foreach($arrWEBMColas$objItem){
@reset($arrProp);
$arrInstance=array();
foreach($arrPropas$propItem){
eval("$value=$objItem->".$propItem->Name.";");
if(empty($strValue)){
$arrInstance[$propItem->Name]=trim($value);
}else{
if(in_array($propItem->Name,$strValue)){
$arrInstance[$propItem->Name]=trim($value);
}
}
}
$arrData[]=$arrInstance;
}
return$arrData;
}

//根据操作系统取得CPU相关信息
switch(PHP_OS){
case"Linux":
$sysReShow=(($sys_info=sys_linux())!==false)?"show":"none";
break;
case"FreeBSD":
$sysReShow=(($sys_info=sys_freebsd())!==false)?"show":"none";
break;
case"WINNT":
$sysReShow=(($sys_info=sys_windows())!==false)?"show":"none";
break;
default:
break;
}
?>

此PHP类,根据操作系统来进行判断。

调用<?phpecho'['.$sys_info['cpu']['num_text'].']'.$sys_info['cpu']['model'];?>
阅读全文

与php获取cpu信息相关的资料

热点内容
linuxmysql插入 浏览:594
vim命令复制 浏览:813
单片机中有pt0吗 浏览:319
程序员科研知乎 浏览:65
图图老师讲数学美国算法 浏览:623
三星s9安全文件夹有啥用 浏览:722
怎么ai捏脸安卓 浏览:278
军命令证书 浏览:534
误删苹果app怎么恢复 浏览:868
如何设置内网服务器IP 浏览:76
马老师的加密通话视频 浏览:745
扫码识价app哪里可以买 浏览:553
wpstopdf转换器 浏览:641
怎么把pdf导入iphone 浏览:567
7z后缀文件解压缩 浏览:906
服务器为什么禁用三叉戟 浏览:936
解压小视频卸妆或化妆 浏览:557
太监程序员 浏览:59
java编译选项包括 浏览:435
安卓手机如何导其他手机的通讯录 浏览:931