Iostat और प्रथम मूल्य पर स्थैतिक संसाधन उपयोग को दर्शाता है


2

मेरी एक परियोजना के लिए, मुझे प्रोग्रामेटिक रूप से संसाधन (CPU, I / O और डिस्क-स्पेस) का उपयोग करने की आवश्यकता है।

वर्तमान में मैं शेल कमांड ( iostat) चला रहा हूं और उन परिणामों को पार्स कर रहा हूं जो डिस्क-स्पेस स्टेट के लिए अपेक्षाकृत अच्छी तरह से काम करता है।

दूसरी ओर सीपीयू और आई / ओ स्टेट के लिए, मुझे एक समस्या है।

परीक्षण करके iostatऔर topपर आदेश Mac OSX 10.9और Centos 6.5मुद्दा यह है कि बहुत पहले नतीजा यह है कि छपा है स्थिर है।

"स्थिर" से मेरा मतलब है निरंतर। यह हमेशा एक ही संख्या है चाहे आप कितनी बार भी कमांड को चलाएं। ऐसा लगता है कि मूल्य फिर से जूते के बीच बदल जाता है।

यह केवल पहले मूल्य के लिए मामला है, अनुवर्ती मान ठीक हैं और संभव सिस्टम संसाधन उपयोग को दर्शाते हैं।

अब CentOS बॉक्स मैं दौड़ाया गया परीक्षण एक VM है, लेकिन OSX एक सामान्य मैकबुक प्रो है।

तो मेरे तीन प्रश्न निम्नलिखित हैं:

  • पर स्थिरांक - कैसे आ कि आंकड़े स्थिर हैं iostatऔर topऔर सीपीयू के लिए आई / ओ उपयोग?

  • मैं इसे कैसे ठीक करूं ?

  • यदि यह तय नहीं किया जा सकता है या एक इच्छित व्यवहार है, तो क्या ऐसे विकल्प हैं जो MacOSX और CentOS दोनों पर काम करते हैं?

यहाँ के नमूने लॉग हैं:

  1. एक iostatताज़ा बिना CentOS पर एक साधारण समय :

    Linux 2.6.32-431.5.1.el6.x86_64 08/04/2014 _x86_64_ (2 CPU)

    avg-cpu: %user %nice %system %iowait %steal %idle 24.64 0.00 0.57 0.10 0.00 74.70

    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 1.44 0.22 26.26 656556 76917802 sdb 3.89 0.17 61.83 492714 181116136 dm-0 3.29 0.22 26.26 647474 76917776 dm-1 0.00 0.00 0.00 2416 0 dm-2 6.76 0.17 61.83 491914 181116136

  2. iostat 1CentOS पर एक सरल लेकिन इस बार एक 1 secondताज़ा आवृत्ति के साथ:

Linux 2.6.32-431.5.1.el6.x86_64 08/04/2014 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle 24.64 0.00 0.57 0.10 0.00 74.70

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 1.44 0.22 26.26 656556 76918018 sdb 3.89 0.17 61.83 492714 181118872 dm-0 3.29 0.22 26.26 647474 76917992 dm-1 0.00 0.00 0.00 2416 0 dm-2 6.76 0.17 61.83 491914 181118872

avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 0.00 0.00 0.00 99.49

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 7.00 0.00 56.00 0 56 sdb 0.00 0.00 0.00 0 0 dm-0 7.00 0.00 56.00 0 56 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 1.00 0.00 1.50 0.50 0.00 97.00

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 3.00 0.00 32.00 0 32 sdb 8.00 0.00 176.00 0 176 dm-0 4.00 0.00 32.00 0 32 dm-1 0.00 0.00 0.00 0 0 dm-2 14.00 0.00 176.00 0 176

avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 0.00 0.00 0.00 99.49

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 1.00 0.00 1.00 0.00 0.00 98.01

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.50 0.00 0.50 0.00 0.00 99.00

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.50 0.00 0.50 0.00 0.00 99.00

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.51 0.00 0.00 99.49

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0

avg-cpu: %user %nice %system %iowait %steal %idle 0.50 0.00 0.50 0.00 0.00 99.00

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 2.00 0.00 24.00 0 24 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 3.00 0.00 24.00 0 24

avg-cpu: %user %nice %system %iowait %steal %idle 0.51 0.00 0.51 0.00 0.00 98.99

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sdb 4.00 0.00 80.00 0 80 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 dm-2 7.00 0.00 80.00 0 80

दोनों "प्रयोग" कुछ सेकंड के अंतराल के भीतर किए गए थे।

जैसा कि आप देख सकते हैं, सीपीयू उपयोग के लिए, %userहमेशा पहले मूल्य पर 24.64%और %systemपर है 0.57

जवाबों:


1

यदि आप cpu% को प्रोग्रामिक रूप से प्राप्त करना चाहते हैं, तो आप बेहतर जानकारी सीधे / proc / stat से प्राप्त कर सकते हैं

यह https://stackoverflow.com/questions/3017162/how-to-get-total-cpu-usage-in-linux-c पर चर्चा की गई है

और http://www.linuxhowtos.org/System/procstat.htm पर भी प्रलेखित है

उम्मीद है की यह मदद करेगा


हां, यह वास्तव में मदद करेगा भले ही आप /proc/*OSX तक नहीं पहुंच सकते । मुझे कोई आपत्ति नहीं है। क्या आप डिस्क I / O के समान समाधान के बारे में जानते हैं?
14:00 पर Zoldiek
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.