2012-03-23 13 views
5

का उपयोग कर CPU उपयोग का पता लगाएं मैं वर्तमान CPU उपयोग को पढ़ने के लिए PHP का उपयोग कर रहा हूं। मैं vServer पर हूं, इसलिए shell_exec सक्षम है।डेबियन: बैश

मैंने ps पर कोशिश की है, लेकिन यह काम नहीं किया। मैं बैश का उपयोग कर वर्तमान% CPU उपयोग को कैसे पढ़ सकता हूं?

+0

पर्याप्त मात्रा में बैश से लोड होगा? 'बिल्ली/proc/loadavg' भी, http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html (sysstat) ऐसा कुछ हो सकता है जिसे आप उपयोग करना चाहते हैं/इंस्टॉल करें। – TryTryAgain

उत्तर

5

सबसे आसान तरीका है sys_getloadavg

उपयोग करने के लिए आप सीधे ओएस पूछने के लिए, अपटाइम

$uptimeString = `uptime`; 

या करने के लिए existing answers से किसी का उपयोग कैसे बैश में बिल्कुल वही बात करना चाहते हैं तो बस है और बस बैकटिक्स में लपेटो।

+0

मैंने पहले getLoadAvg कमांड देखा है, लेकिन यह CPU उपयोग (%) के समान नहीं है। अपटाइम और getloadavg दोनों भी दिलचस्प हो सकता है। लेकिन मैं सीपीयू उपयोग कैसे प्राप्त कर सकता हूं? – bytecode77

+0

क्या आपने मौजूदा उत्तरों पढ़े हैं - उदा। प्रश्न में पहला जवाब मैंने लिंक किया था? – AD7six

+0

आह, बस इसे देखा। धन्यवाद! – bytecode77

3

सब समाधान को करीब से देख लेने के बाद, मैं इस कोड के साथ आया था:

<?php 
    exec('ps -aux', $processes); 
    foreach($processes as $process) 
    { 
     $cols = split(' ', ereg_replace(' +', ' ', $process)); 
     if (strpos($cols[2], '.') > -1) 
     { 
      $cpuUsage += floatval($cols[2]); 
     } 
    } 
    print($cpuUsage); 
?> 

यह ps -aux कॉल और सीपीयू% का सार।

संबंधित मुद्दे