2009-01-28 23 views
88

का उपयोग करने की प्रक्रिया क्या है यदि मैं "शीर्ष" का उपयोग करता हूं तो मैं देख सकता हूं कि कौन सी सीपीयू व्यस्त है और मेरे सभी CPU का उपयोग किस प्रक्रिया में है।मेरी सभी डिस्क IO

यदि मैं "iostat -x" का उपयोग करता हूं तो मैं देख सकता हूं कि कौन सा ड्राइव व्यस्त है।

लेकिन मैं कैसे देख सकता हूं कि सभी ड्राइव के थ्रूपुट का उपयोग किस प्रक्रिया में है?

+2

ठीक है, तकनीकी रूप से यह लिनक्स के लिए भी सच है, क्योंकि उपयोगकर्ता केवल पृष्ठ कैश में पृष्ठों को संशोधित करता है ...;) – Damon

+0

सिर्फ मेरे पास सवाल और उत्तर मैं ढूंढ रहा था, लेकिन इस तरह का सवाल फिट नहीं है SuperUser पर बेहतर? –

+0

और यही कारण है कि लिनक्स सोलारिस और मैकोज़ से कम है क्योंकि उनके पास डिट्रेस बनाया गया है जो यह पता लगाने में आसान बनाता है: -/ –

उत्तर

134

आप iotop देख रहे हैं (मान लीजिए कि आपके पास कर्नेल> 2.6.20 और पायथन 2.5 है)। यह विफल हो रहा है, आप फाइल सिस्टम में हुकिंग की तलाश में हैं। मैं पूर्व की सिफारिश करता हूं।

+0

http://articles.slicehost.com/2010/11/12/using-iotop-to-check-io-and-swap –

+1

'iotop' आईओएस द्वारा खपत आईओपीएस की संख्या के बजाय I/O बैंडविड्थ दिखा रहा है प्रक्रियाओं। यह सुपर प्रासंगिक नहीं है। बहुत सी छोटी सी चीजें लिखने की प्रक्रिया + सिंक उच्च गति पर डेटा के एक बड़े संगत बैच लिखने की प्रक्रिया की तुलना में डिस्क की आईओ क्षमता की अधिक मात्रा का उपभोग करने जा रही है। – arnaud576875

0

क्या आपने lsof (खुली फाइलों की सूची) पर विचार किया है?

+2

जो सिर्फ खुली फ़ाइल हैंडल दिखाता है, प्रत्येक फ़ाइल के लिए एमबी/एस नहीं। आईओपोट करता है कि। – oligofren

9

जो राज्य 'डी' में संसाधित करता है पता लगाने के लिए (डिस्क प्रतिक्रिया की प्रतीक्षा) वर्तमान में चल रहे:

while true; do date; ps aux | awk '{if($8=="D") print $0;}'; sleep 1; done

या

watch -n1 -d "ps axu | awk '{if (\$8==\"D\") {print \$0}}'"

Wed Aug 29 13:00:46 CLT 2012 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:00:47 CLT 2012 
Wed Aug 29 13:00:48 CLT 2012 
Wed Aug 29 13:00:49 CLT 2012 
Wed Aug 29 13:00:50 CLT 2012 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:00:51 CLT 2012 
Wed Aug 29 13:00:52 CLT 2012 
Wed Aug 29 13:00:53 CLT 2012 
Wed Aug 29 13:00:55 CLT 2012 
Wed Aug 29 13:00:56 CLT 2012 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:00:57 CLT 2012 
root  302 0.0 0.0  0  0 ?  D May28 3:07 \_ [kdmflush] 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:00:58 CLT 2012 
root  302 0.0 0.0  0  0 ?  D May28 3:07 \_ [kdmflush] 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:00:59 CLT 2012 
root  302 0.0 0.0  0  0 ?  D May28 3:07 \_ [kdmflush] 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:01:00 CLT 2012 
root  302 0.0 0.0  0  0 ?  D May28 3:07 \_ [kdmflush] 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:01:01 CLT 2012 
root  302 0.0 0.0  0  0 ?  D May28 3:07 \_ [kdmflush] 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 
Wed Aug 29 13:01:02 CLT 2012 
Wed Aug 29 13:01:03 CLT 2012 
root  321 0.0 0.0  0  0 ?  D May28 4:25 \_ [jbd2/dm-0-8] 

आप देख सकते हैं परिणाम से, jdb2/dm-0-8 (ext4 जर्नल प्रक्रिया), और kdmflush लगातार आपके लिनक्स को अवरुद्ध कर रहे हैं।

अधिक जानकारी के लिए इस URL उपयोगी हो सकता है: Linux Wait-IO Problem

+1

मेरे लिए काम नहीं करता RHEL5.5 बैश 3.2.25 (1) - कृपया –

1

केडीई उपयोगकर्ताओं के लिए आप 'ctrl-esc' का उपयोग कर सकते शीर्ष एक प्रणाली actrivity पर नजर रखने के फोन और वहाँ है मैं इस प्रक्रिया आईडी और नाम के साथ/ओ गतिविधियों चार्ट।

मुझे 'नई उपयोगकर्ता स्थिति' के कारण छवि अपलोड करने की अनुमति नहीं है, लेकिन आप नीचे दी गई छवि को देख सकते हैं। आईओ पढ़ने और लिखने के लिए इसमें एक कॉलम है।

6

atop भी अच्छी तरह से काम करता है और यहां तक ​​कि पुराने CentOS 5.x सिस्टम जो iotop नहीं चला सकते हैं पर आसानी से स्थापित करता है। सहायता के लिए डिस्क विवरण, ? दिखाने के लिए d दबाएं।

ATOP - mybox       2014/09/08 15:26:00       ------       10s elapsed 
PRC | sys 0.33s | user 1.08s |    | #proc 161 | #zombie 0 | clones 31 |    | #exit   16 | 
CPU | sys 4% | user  11% | irq  0% | idle 306% | wait  79% |    | steal  1% | guest  0% | 
cpu | sys 2% | user  8% | irq  0% | idle  11% | cpu000 w 78% |    | steal  0% | guest  0% | 
cpu | sys 1% | user  1% | irq  0% | idle  98% | cpu001 w 0% |    | steal  0% | guest  0% | 
cpu | sys 1% | user  1% | irq  0% | idle  99% | cpu003 w 0% |    | steal  0% | guest  0% | 
cpu | sys 0% | user  1% | irq  0% | idle  99% | cpu002 w 0% |    | steal  0% | guest  0% | 
CPL | avg1 2.09 | avg5 2.09 | avg15 2.09 |    | csw 54184 | intr 33581 |    | numcpu  4 | 
MEM | tot  8.0G | free 81.9M | cache 2.9G | dirty 0.8M | buff 174.7M | slab 305.0M |    |    | 
SWP | tot  2.0G | free 2.0G |    |    |    |    | vmcom 8.4G | vmlim 6.0G | 
LVM | Group00-root | busy  85% | read  0 | write 30658 | KiB/w  4 | MBr/s 0.00 | MBw/s 11.98 | avio 0.28 ms | 
DSK |   xvdb | busy  85% | read  0 | write 23706 | KiB/w  5 | MBr/s 0.00 | MBw/s 11.97 | avio 0.36 ms | 
NET | transport | tcpi 2705 | tcpo 2008 | udpi  36 | udpo  43 | tcpao  14 | tcppo  45 | tcprs  1 | 
NET | network  | ipi  2788 | ipo  2072 | ipfrw  0 | deliv 2768 |    | icmpi  7 | icmpo  20 | 
NET | eth0 ---- | pcki 2344 | pcko 1623 | si 1455 Kbps | so 781 Kbps | erri  0 | erro  0 | drpo  0 | 
NET | lo  ---- | pcki  423 | pcko  423 | si 88 Kbps | so 88 Kbps | erri   0 | erro  0 | drpo  0 | 
NET | eth1 ---- | pcki 22 | pcko  26 | si 3 Kbps | so 5 Kbps | erri  0 | erro  0 | drpo  0 | 

    PID     RDDSK     WRDSK     WCANCL     DSK     CMD  1/1 
9862      0K     53124K      0K     98%     java 
    358      0K      636K      0K      1%     jbd2/dm-0-8 
13893      0K      192K      72K      0%     java 
1699      0K      60K      0K      0%     syslogd 
4668      0K      24K      0K      0%     zabbix_agentd 

यह स्पष्ट रूप से जावा पिड 9 862 अपराधी दिखाता है।

2

टी एल; डॉ

आप iotop का उपयोग कर सकते हैं, तो ऐसा करते हैं। अन्यथा यह मदद कर सकता है। कम से कम एक कोर के लिए मूल्यों को दिखाने के लिए > 1.0 wa

d 1 = set refresh time from 3 to 1 second 

1 = show stats for each cpu, not cumulated 

यह है - अगर कोई diskwaits हैं, वहाँ बस कोई आईओ लोड और करने के लिए कोई जरूरत नहीं है:


उपयोग top, तो इन शॉर्टकट का उपयोग आगे देखो। महत्वपूर्ण भार आमतौर पर > 15.0 wa शुरू करते हैं।

x  = highlight current sort column 
<and> = change sort column 
R  = reverse sort order 

प्रक्रिया स्थिति कॉलम चुस 'एस'।सॉर्ट ऑर्डर को उलट दें ताकि 'आर' (चल रही) प्रक्रियाएं शीर्ष पर दिखाई दें। यदि आप 'डी' प्रक्रियाओं को खोज सकते हैं (डिस्क की प्रतीक्षा कर रहे हैं), तो आपके पास एक संकेतक है कि आपका अपराधी क्या हो सकता है।

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