本文整理汇总了PHP中CpuDevice::getBogomips方法的典型用法代码示例。如果您正苦于以下问题:PHP CpuDevice::getBogomips方法的具体用法?PHP CpuDevice::getBogomips怎么用?PHP CpuDevice::getBogomips使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CpuDevice
的用法示例。
在下文中一共展示了CpuDevice::getBogomips方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _cpuinfo
/**
* CPU information
* All of the tags here are highly architecture dependant.
*
* @return void
*/
protected function _cpuinfo()
{
if (CommonFunctions::rfts('/proc/cpuinfo', $bufr)) {
$processors = preg_split('/\\s?\\n\\s?\\n/', trim($bufr));
$procname = null;
foreach ($processors as $processor) {
$proc = null;
$arch = null;
$dev = new CpuDevice();
$details = preg_split("/\n/", $processor, -1, PREG_SPLIT_NO_EMPTY);
foreach ($details as $detail) {
$arrBuff = preg_split('/\\s*:\\s*/', trim($detail));
if (count($arrBuff) == 2) {
switch (strtolower($arrBuff[0])) {
case 'processor':
$proc = trim($arrBuff[1]);
if (is_numeric($proc)) {
if (strlen($procname) > 0) {
$dev->setModel($procname);
}
} else {
$procname = $proc;
$dev->setModel($procname);
}
break;
case 'model name':
case 'cpu model':
case 'cpu':
$dev->setModel($arrBuff[1]);
break;
case 'cpu mhz':
case 'clock':
if ($arrBuff[1] > 0) {
//openSUSE fix
$dev->setCpuSpeed($arrBuff[1]);
}
break;
case 'cycle frequency [hz]':
$dev->setCpuSpeed($arrBuff[1] / 1000000);
break;
case 'cpu0clktck':
$dev->setCpuSpeed(hexdec($arrBuff[1]) / 1000000);
// Linux sparc64
break;
case 'l2 cache':
case 'cache size':
$dev->setCache(preg_replace("/[a-zA-Z]/", "", $arrBuff[1]) * 1024);
break;
case 'initial bogomips':
case 'bogomips':
case 'cpu0bogo':
$dev->setBogomips($arrBuff[1]);
break;
case 'flags':
if (preg_match("/ vmx/", $arrBuff[1])) {
$dev->setVirt("vmx");
} elseif (preg_match("/ svm/", $arrBuff[1])) {
$dev->setVirt("svm");
} elseif (preg_match("/ hypervisor/", $arrBuff[1])) {
$dev->setVirt("hypervisor");
}
break;
case 'i size':
case 'd size':
if ($dev->getCache() === null) {
$dev->setCache($arrBuff[1] * 1024);
} else {
$dev->setCache($dev->getCache() + $arrBuff[1] * 1024);
}
break;
case 'cpu architecture':
$arch = trim($arrBuff[1]);
break;
}
}
}
// sparc64 specific code follows
// This adds the ability to display the cache that a CPU has
// Originally made by Sven Blumenstein <bazik@gentoo.org> in 2004
// Modified by Tom Weustink <freshy98@gmx.net> in 2004
$sparclist = array('SUNW,UltraSPARC@0,0', 'SUNW,UltraSPARC-II@0,0', 'SUNW,UltraSPARC@1c,0', 'SUNW,UltraSPARC-IIi@1c,0', 'SUNW,UltraSPARC-II@1c,0', 'SUNW,UltraSPARC-IIe@0,0');
foreach ($sparclist as $name) {
if (CommonFunctions::rfts('/proc/openprom/' . $name . '/ecache-size', $buf, 1, 32, false)) {
$dev->setCache(base_convert($buf, 16, 10));
}
}
// sparc64 specific code ends
// XScale detection code
if ($arch === "5TE" && $dev->getBogomips() != null) {
$dev->setCpuSpeed($dev->getBogomips());
//BogoMIPS are not BogoMIPS on this CPU, it's the speed
$dev->setBogomips(null);
// no BogoMIPS available, unset previously set BogoMIPS
}
//.........这里部分代码省略.........
示例2: _cpuinfo
//.........这里部分代码省略.........
case 'i size':
case 'd size':
if ($dev->getCache() === null) {
$dev->setCache($arrBuff1 * 1024);
} else {
$dev->setCache($dev->getCache() + $arrBuff1 * 1024);
}
break;
case 'cpu architecture':
$arch = $arrBuff1;
break;
case 'cpu implementer':
$impl = $arrBuff1;
break;
case 'cpu part':
$part = $arrBuff1;
break;
}
}
}
if ($arch === null) {
$arch = $_arch;
}
if ($impl === null) {
$impl = $_impl;
}
if ($part === null) {
$part = $_part;
}
// sparc64 specific code follows
// This adds the ability to display the cache that a CPU has
// Originally made by Sven Blumenstein <bazik@gentoo.org> in 2004
// Modified by Tom Weustink <freshy98@gmx.net> in 2004
$sparclist = array('SUNW,UltraSPARC@0,0', 'SUNW,UltraSPARC-II@0,0', 'SUNW,UltraSPARC@1c,0', 'SUNW,UltraSPARC-IIi@1c,0', 'SUNW,UltraSPARC-II@1c,0', 'SUNW,UltraSPARC-IIe@0,0');
foreach ($sparclist as $name) {
if (CommonFunctions::rfts('/proc/openprom/' . $name . '/ecache-size', $buf, 1, 32, false)) {
$dev->setCache(base_convert($buf, 16, 10));
}
}
// sparc64 specific code ends
// XScale detection code
if ($arch === "5TE" && $dev->getBogomips() != null) {
$dev->setCpuSpeed($dev->getBogomips());
//BogoMIPS are not BogoMIPS on this CPU, it's the speed
$dev->setBogomips(null);
// no BogoMIPS available, unset previously set BogoMIPS
}
if ($dev->getBusSpeed() == 0 && $_buss !== null) {
$dev->setBusSpeed($_buss);
}
if ($dev->getCpuSpeed() == 0 && $_cpus !== null) {
$dev->setCpuSpeed($_cpus);
}
if ($proc != null) {
if (!is_numeric($proc)) {
$proc = 0;
}
// variable speed processors specific code follows
if (CommonFunctions::rfts('/sys/devices/system/cpu/cpu' . $proc . '/cpufreq/cpuinfo_cur_freq', $buf, 1, 4096, false)) {
$dev->setCpuSpeed($buf / 1000);
} elseif (CommonFunctions::rfts('/sys/devices/system/cpu/cpu' . $proc . '/cpufreq/scaling_cur_freq', $buf, 1, 4096, false)) {
$dev->setCpuSpeed($buf / 1000);
}
if (CommonFunctions::rfts('/sys/devices/system/cpu/cpu' . $proc . '/cpufreq/cpuinfo_max_freq', $buf, 1, 4096, false)) {
$dev->setCpuSpeedMax($buf / 1000);
}
if (CommonFunctions::rfts('/sys/devices/system/cpu/cpu' . $proc . '/cpufreq/cpuinfo_min_freq', $buf, 1, 4096, false)) {
$dev->setCpuSpeedMin($buf / 1000);
}
// variable speed processors specific code ends
if (PSI_LOAD_BAR) {
$dev->setLoad($this->_parseProcStat('cpu' . $proc));
}
if (CommonFunctions::rfts('/proc/acpi/thermal_zone/THRM/temperature', $buf, 1, 4096, false)) {
$dev->setTemp(substr($buf, 25, 2));
}
// Raspbery detection
if ($arch === '7' && $impl === '0x41' && ($_hard === 'BCM2708' || $_hard === 'BCM2709' || $_hard === 'BCM2710') && $_revi !== null) {
if (($cputype = $this->setRaspberry($_revi, $part)) !== "") {
if (($cpumodel = $dev->getModel()) !== "") {
$dev->setModel($cpumodel . ' - ' . $cputype);
} else {
$dev->setModel($cputype);
}
}
} else {
// other hardware
if ($_hard !== null && $this->sys->getMachine() === "") {
$this->sys->setMachine($_hard);
}
}
if ($dev->getModel() === "") {
$dev->setModel("unknown");
}
$this->sys->setCpus($dev);
}
}
}
}
}