您的位置:首页 > 运维架构

使用exec的top命令获取内存和cpu的使用率

2011-03-29 16:37 405 查看
在linux中使用内置的top命令,可以看到如下的信息:

top - 16:34:22 up 49 days, 7:18, 3 users, load average: 0.00, 0.00, 0.00

Tasks: 137 total, 1 running, 136 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 2040436k total, 1935052k used, 105384k free, 217136k buffers

Swap: 4095992k total, 22700k used, 4073292k free, 1067680k cached

第3行是关于cpu的一些信息,我查询过了好多地方,都没有看到详细的解释,直到我在:

http://www.mmmhk.com/viewnews-3672

中看到了它的描述:

Cpu(s):

0.3% us 用户空间占用CPU百分比

  1.0% sy 内核空间占用CPU百分比

  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比

  98.7% id 空闲CPU百分比

  0.0% wa 等待输入输出的CPU时间百分比

  0.0% 你好

  0.0% si

我通过php的函数:

exec('top n 1 b i', $top, $error);
//		print_r($top);
//		exit;
if (!$error) {
$cpu 	  = str_replace('Cpu(s):  ', '', $top[2]);
$memArr   = preg_split('/[/s]+/', $top[3]);
$memUsed  = intval($memArr[3]);
$memTotal = intval($memArr[1]);
$memPer   = number_format($memUsed / $memTotal * 100, '', 2, '.', '');
$view->cpu = $cpu;
$view->memPer = $memPer;
} else {
$view->cpu = '-';
$view->memPer = '-';
}


可以获取到CPU和内存的使用情况,仅供参考!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: