① 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].' ('.$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'];?>