很多站长朋友们都不太清楚phpcpu主频,今天小编就来给大家整理phpcpu主频,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 如何彻底优化php程序降低CPU占用 2、 升级php7.3 linux服务器cpu 突然很高? 3、 如何限制php程序的cpu占用率 4、 php的服务器cpu数量怎么获取 5、 PHP如何在windows下获取计算机的cpu和内存 6、 什么叫超频,如何超频 如何彻底优化php程序降低CPU占用1、优化数据和逻辑和查询。
2、改用php7,并且用严格模式编写。
3、优化服务器实现动静分离比如把apache和iis换成nginx或nginx+apache。
升级php7.3 linux服务器cpu 突然很高?1、通过宝塔面板安装的建站环境是LNMP,使用的Nginx 1.16.1、MySQL 5.5.62、PHP-7.0。2、优化PHP7.0设置。先进入到PHP7.0管理页面。首先先安装一个opcache缓冲器,用于加速PHP脚本,其他的就都按默认的来吧,毕竟安装的扩展太多容易影响性能。修改max_execution_time时间为20.性能调整。这里可以根据自己服务器配置进行设置,宝塔面板比较人性化,会根据你的服务器配置设置推荐方案。可以根据自己服务器内存大小进行计算,一般一个php-fpm进程占用内存30M左右,以1024MB内存1G内存)来计算,大概可以设置34个并发。使用的就是1核1G内存配置的服务器,安装宝塔面板后推荐的是40并发,用不到那么高的并发,所以设置了20并发的方案,并把max_spare_servers数字调整成了14。
如何限制php程序的cpu占用率这个不要限制的,php程序占用CPU是很小的,而且运行的快就是这个特点的
php的服务器cpu数量怎么获取<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL ^ E_DEPRECATED);
//linux系统探测
function sys_linux() {
// CPU
if (false === ($str = @file("/proc/cpuinfo"))) return false;
$str = implode("", $str);
@preg_match_all("/model\s+name\s{0,}\:+\s{0,}([\w\s\)\(\@.-]+)([\r\n]+)/s", $str, $model);
@preg_match_all("/cpu\s+MHz\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/", $str, $mhz);
@preg_match_all("/cache\s+size\s{0,}\:+\s{0,}([\d\.]+\s{0,}[A-Z]+[\r\n]+)/", $str, $cache);
@preg_match_all("/bogomips\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/", $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"))) return false;
$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"))) return false;
$str = implode("", $str);
preg_match_all("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?Cached\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buf);
preg_match_all("/Buffers\s{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;
// LOAD AVG
if (false === ($str = @file("/proc/loadavg"))) return false;
$str = explode(' ', implode("", $str));
$str = array_chunk($str, 4);
$res['load_avg'] = implode(' ', $str[0]);
return $res;
}
//FreeBSD系统探测
function sys_freebsd() {
//CPU
if (false === ($res['cpu']['num'] = get_key("hw.ncpu"))) return false;
$res['cpu']['num_text'] = str_replace(array(1,2,4,8,16), array('单','双','四','八','十六'), $res['cpu']['num']).'核';
$res['cpu']['model'] = get_key("hw.model");
//LOAD AVG
if (false === ($res['load_avg'] = get_key("vm.loadavg"))) return false;
//UPTIME
if (false === ($buf = get_key("kern.boottime"))) return false;
$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"))) return false;
$res['mem_total'] = round($buf/1024/1024, 2);
$str = get_key("vm.vmtotal");
preg_match_all("/\nVirtual Memory[\:\s]*\(Total[\:\s]*([\d]+)K[\,\s]*Active[\:\s]*([\d]+)K\)\n/i", $str, $buff, PREG_SET_ORDER);
preg_match_all("/\nReal Memory[\:\s]*\(Total[\:\s]*([\d]+)K[\,\s]*Active[\:\s]*([\d]+)K\)\n/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
function get_key($keyName) {
return do_command('sysctl', "-n $keyName");
}
//确定执行文件位置 FreeBSD
function find_command($commandName) {
$path = array('/bin', '/sbin', '/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin');
foreach($path as $p) {
if (@is_executable("$p/$commandName")) return "$p/$commandName";
}
return false;
}
//windows系统探测
function sys_windows() {
if(PHP_VERSION >= 5) {
$obj_locator = new COM("WbemScripting.SWbemLocator");
$wmi = $obj_locator->ConnectServer();
} else {
return false;
}
//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;
}
function GetWMI($wmi, $strClass, $strValue = array()) {
$arrData = array();
$objWEBM = $wmi->Get($strClass);
$arrProp = $objWEBM->Properties_;
$arrWEBMCol = $objWEBM->Instances_();
foreach($arrWEBMCol as $objItem) {
@reset($arrProp);
$arrInstance = array();
foreach($arrProp as $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类,根据操作系统来进行判断。
调用<?php echo '['.$sys_info['cpu']['num_text'].'] '.$sys_info['cpu']['model']; ?>
PHP如何在windows下获取计算机的cpu和内存在cmd下 用批处理语句获取windows的CPU 内存使用情况的语句,找下。
然后php有执行 OS 原生脚本的函数,跟你在CMD下执行一样。
执行完,获取返回的信息即可。
什么叫超频,如何超频严格意义上的超频是一个广泛的概念,它是指任何提高计算机某一部件工作频率而使之在非标准频率下工作从而提高该部件工作性能的行为,其中包括CPU超频、主板超频、内存超频、显示卡超频和硬盘超频等等很多部分。
通常所说的CPU超频仅仅是提高CPU的工作频率而采用的一种方法。一般来说,CPU制造商都会为了保证产品质量而预留一点频率余地,例如实际能达到2GHz的P4CPU可能只标称成1.8GHz来销售,因此CPU超频方法可以使你在花费很小的情况下提高计算机系统的性能。
在过去,我们超频的方法通常是将CPU的时钟速度加快。如今,许多主板厂商都开始在自己的产品上作了人性化的超频功能,因此超频的方法也从以前的硬超频变成了现在更方便更简单的软超频。所谓硬超频是指通过主板上面的跳线或者DIP开关手动设置外频和CPU、内存等工作电压来实现的;而软超频指的是在系统的BIOS里面进行设置外频、倍频和各部分电压等参数。一些主板厂商还推出了傻瓜超频功能,就是主板可以自动以1MHz为单位逐步提高外频频率,自动为用户找到一个让CPU能够稳定运行的最高频率。
对超频而言,冷却装置是非常重要的。如果你在超频以后,可以启动计算机,但在一分钟之内,你的机器死掉了,这通常是你的CPU过热的原因。我们选用的冷却装置通常是散热片、风扇或者是同时安装。你可以在电脑城里面找到这些设备。在选购散热片的时候,你要确信你的CPU和它匹配。散热片的表面必须与CPU的表面完全接触。你可以将散热片与CPU粘在一起,必要的话,在散热片上可以加装一个小风扇。同时,机箱的散热也非常重要。
超频对CPU和主板上的元件是有害的,但在方法得当的情况下,这种损害并不会立刻降临到你的CPU上,只有当你的CPU在较高的温度下运行的时候才会产生。通常,一颗CPU的寿命是10年左右,超频会缩短CPU的寿命
CPU的频率
凡是懂得点电脑的朋友,都应该对‘频率’两个字熟悉透了吧!作为机器的核心CPU的频率当然是非常重
要的,因为它能直接影响机器的性能。那么,您是否对CPU频率方面的问题了解得很透彻呢?请随我来,
让我给您详细说说吧!
所谓主频,也就是CPU正常工作时的时钟频率,从理论上讲CPU的主频越高,它的速度也就越快,因为频率
越高,单位时钟周期内完成的指令就越多,从而速度也就越快了。但是由于各种CPU内部结构的差异
(如缓存、指令集),并不是时钟频率相同速度就相同,比如PIII和赛扬,雷鸟和DURON,赛扬和DURON,
PIII与雷鸟,在相同主频下性能都不同程度的存在着差异。目前主流CPU的主频都在600MHz以上,而频率
最高(注意,并非最快)的P4已经达到1.7GHz,AMD的雷鸟也已经达到了1.3GHz,而且还会不断提升。
在486出现以后,由于CPU工作频率不断提高,而PC机的一些其他设备(如插卡、硬盘等)却受到工
艺的限制,不能承受更高的频率,因此限制了CPU频率的进一步提高。因此,出现了倍频技术,该技术能
够使CPU内部工作频率变为外部频率的倍数,从而通过提升倍频而达到提升主频的目的。因此在486以后
我们接触到两个新的概念--外频与倍频。它们与主频之间的关系是外频X倍频=主频。一颗CPU的外频与今
天我们常说的FSB(Front side bus,前端总线)频率是相同的(注意,是频率相同),目前市场上的
CPU的外频主要有66MHz(赛扬系列)、100MHz(部分PIII和部分雷鸟以及所有P4和DURON)、133MHz(部
分PIII和部分雷鸟)。值得一提的是,目前有些媒体宣传一些CPU的外频达到了200MHz(DURON)、
266MHz(雷鸟)甚至400MHz(P4),实际上是把外频与前端总线混为一谈了,其实它们的外频仍然是
100MHz和133MHz,但是由于采用了特殊的技术,使前端总线能够在一个时钟周期内完成2次甚至4次传输,
因此相当于将前端总线频率提升了好几倍。不过从外频与倍频的定义来看,它们的外频并未因此而发生改
变,希望大家注意这一点。今天外频并未比当初提升多少,但是倍频技术今天已经发展到一个很高的阶段
。以往的倍频都只能达到2-3倍,而现在的P4、雷鸟都已经达到了10倍以上,真不知道以后还会不会更高。
眼下的CPU倍频一般都已经在出厂前被锁定(除了部分工程样品),而外频则未上锁。部分CPU如AMD的
DURON和雷鸟能够通过特殊手段对其倍频进行解锁,而INTEL产CPU则不行。
由于外频不断提高,渐渐地提高到其他设备无法承受了,因此出现了分频技术(其实这是主板北桥芯
片的功能)。分频技术就是通过主板的北桥芯片将CPU外频降低,然后再提供给各插卡、硬盘等设备。早
期的66MHz外频时代是PCI设备2分频,AGP设备不分频;后来的100MHz外频时代则是PCI设备3分频,AGP设
备2/3分频(有些100MHz的北桥芯片也支持PCI设备4分频);目前的北桥芯片一般都支持133MHz外频,即
PCI设备4分频、AGP设备2分频。总之,在标准外频(66MHz、100MHz、133MHz)下北桥芯片必须使PCI设备
工作在33MHz,AGP设备工作在66MHz,才能说该芯片能正式支持该种外频。
最后再来谈谈CPU的超频。CPU超频其实就是通过提高外频或者倍频的手段来提高CPU主频从而提升整
个系统的性能。超频的历史已经很久远(其实也就几年),但是真正为大家所喜爱则是从赛扬系列的出产
而开始的,其中赛扬300A超450、366超550直到今天还为人们所津津乐道。而它们就是通过将赛扬CPU的
66MHz外频提升到100MHz从而提升了CPU的主频。而早期的DURON超频则与赛扬不同,它是通过破解倍频锁
然后提升倍频的方式来提高频率。总的看来,超倍频比超外频更稳定,因为超倍频没有改变外频,也就
不会影响到其他设备的正常运作;但是如果超外频,就可能遇到非标准外频如75MHz、83MHz、112MHz等,
这些情况下由于分频技术的限制,致使其他设备都不能工作在正常的频率下,从而可能造成系统的不稳定
,甚至出现硬盘数据丢失、严重的可能损坏。因此,笔者在这里告诫大家:超频虽有好处,但是也十分危
险,所以请大家慎重超频!
参考资料:
应为现在论坛上有很多朋友问到关于CPU超频,所以就让小弟谈谈我本人的心得于体会。
一块CPU能够超频到多少是有很多原因的,譬如:CPU本身的质量,不同批号出厂的超频能力都有所不同。并不是有一个标准的答案。其次就要看其他周边硬件,主板对CPU超频有一定的影响。
超频的人有以下3种:
1 是一些刚买机的普通初学玩家,因为别人超他就跟着去超。并不知道超频的利弊,只是麻木的跟风。
2 是一些资金不多或机子不够用,又不想去升级换机的人。在这种情形下就只有去超频来提高机子的性能。
3 就是一些超级玩家又称骨灰级玩家。那些人往往为了兴趣和能够打破超频记录以去超频。他们的超频手法和一般玩家的很不同,他们为了CPU不被烧毁就想尽办法在低温下进行超频。并不是用风冷这么简单,而是用液氮、干冰等技术来达到降温的效果。往往在擦新新记录并用软件记录下来后,CPU和主板就会“报销”,真是即疯狂又浪费啊!
超频的利与弊:
利就是能够免费的获得更高的性能,还能够把CPU的最大潜能发挥出来。能够达到超频者的理想性能。
弊的方面就是减少CPU的使用寿命。CPU工作在非标准外频下还会影响其它硬件的正常使用。如果超得太高不单只系统不稳定,黑屏。甚至连CPU对烧毁掉。
超频的方法:
首先大家要知道:主频=外频*倍频
1 INTEL 的CPU因为在出厂时已经锁定倍频,所以就只有从外频下手。有一部分AMD的CPU可以通过连接L3金桥来降低倍频提高外频。通常的超频手法都是提高外频工作频率就能够达到提高CPU主频的效果。目前主流CPU的标准外频有100、133、166(注意:166已经是很难达到的外频)最好是在标准外频下工作(下文有说明)
2 如果还没有达到你想要的水平,可以提高CPU的电压(注意:每次调高的幅度最好是0.01),虽然通过调高电压可以再次突破CPU的主频,但是这样做会正加CPU的功率使温度升高,减小使用寿命。调得太高会烧毁,记得要适当。
超频要注意的问题:
1 最关键的问题也是最常见的问题—温度。在排除硬件存在质量问题的前提下,温度就是超频的最大“敌人”。很多人为了能够超频成功,在散热方面下了不小的工夫,买一个几百元的风扇、水冷、甚至用液氮和干冰等。如果温度超过CPU的最高界限就会烧毁。
2 在BIOS设置问题报警,一般设置为60度。
3 注意当CPU工作在非标准外频时给PCI、AGP等设备造成不能正常工作(正常工作频率是33Mhz和66Mhz)。这是主板最好有分频或锁定PCI和AGP工作频率的选项。当CPU的外频是100是就3分频、133就4分频、166就5分频。
4就算超频到一定的频率又不死机,这时也不要开心得过早。因为能开机运行几个软件都没事,并不代表你的机器一定稳定。你必须要运行一些《雷神之锤3》之类的大型3D游戏一个小时以上不死机才算成功。
在最后我祝愿所有的超频爱好者超频成功!!!因为我不想见到有更多的CPU壮烈牺牲:)
关于phpcpu主频的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpcpu主频 phpfpm主进程负责什么的详细内容...