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


在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和内存的使用情况,仅供参考!

 

你可能感兴趣的:(linux,PHP,UP)