CPU लोड कैसे करें?


30

किसी समस्या की जांच करने के लिए एक फ़ाइल में सीपीयू लोड कैसे लॉग करें?

जवाबों:


42

यह बहुत अच्छी तरह से काम करता है:

 while true; do uptime >> uptime.log; sleep 1; done
  • यह आपके cpu लोड को हर सेकंड लॉग करेगा और इसे एक फ़ाइल में जोड़ देगा uptime.log

    फिर आप इस फ़ाइल को Gnumeric या OpenOffice स्प्रैडशीट में एक अच्छा ग्राफ़ बनाने के लिए आयात कर सकते हैं (आयात पर रिक्त स्थान द्वारा अलग-अलग चुनें)।

जैसा कि स्कीन ने देखा, यह समस्या का निदान करने के लिए पर्याप्त नहीं होगा। इसलिए, इसके अलावा, इसे चलाएं (या इस भाग के लिए उसके उत्तर का उपयोग करें):

while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done
  • यह शीर्ष 10 सबसे सीपीयू भूख प्रक्रियाओं को ps.logहर पांच सेकंड में एक फ़ाइल में जोड़ देगा ।

    ध्यान दें कि यह जानकारी का पूर्ण बोट-लोड topआपको नहीं देगा। यह सिर्फ शीर्ष 10 है, और सिर्फ उनके सीपीयू उपयोग, मेमोरी उपयोग और पहला तर्क (यानी आगे तर्क के बिना उनकी आज्ञा, जैसे /usr/bin/firefox)

जब आप अपने CPU लोड छत के माध्यम से चले गए, यह देखने के लिए एक ग्राफ बनाने के लिए एक स्प्रेडशीट का उपयोग करने के बाद, आप तब इस फ़ाइल को निकटतम समय के लिए खोज सकते हैं कि यह किस प्रक्रिया के कारण हुआ है।

यह उन फ़ाइलों को जैसा दिखेगा:

uptime.log

~$ cat uptime.log 
 22:57:42 up 1 day,  4:38,  4 users,  load average: 1.00, 1.26, 1.21
 22:57:43 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:44 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:45 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 ...

ps.log

%CPU %MEM ARGS Mo 17. Jan 23:09:47 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.1  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
%CPU %MEM ARGS Mo 17. Jan 23:09:48 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.0  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
 ...

3
क्या यह वास्तव में सही CPU उपयोग को प्रिंट करता है ?? मैंने इसे
सेंटो पर आज़माया

पुट्टी कनेक्शन बंद करने के बाद भी मैं इस कमांड को अपने VPS पर कैसे चालू रख सकता हूं?
लुकास Bustamante

1
यदि सीपीयू द्वारा सूचित उपयोग psनिरर्थक है, तो इसे रूट के रूप में चलाने का प्रयास करें।
Stefano Palazzo

पुट्टी कनेक्शन बंद करने के बाद भी मैं इस कमांड को अपने VPS पर कैसे चालू रख सकता हूँ ????
मुस्तफा

10

आप विकल्प topका उपयोग करके कमांड को बैच मोड में चला सकते हैं -b, फिर उस फाइल को डंप कर सकते हैं।

अपने पीसी के शुरू होने पर, एक टर्मिनल खोलें, चलाएं

top -b > ~/cpu.txt

तब जब आपका पीसी जमा देता है, तो बस (शायद विशाल) टेक्स्ट फ़ाइल खोलें और क्रैश से ठीक पहले क्या चल रहा था, इस पर कुछ विवरण के लिए अंतिम प्रविष्टि की जांच करें। वास्तव में फ़ाइल इतनी बड़ी रूप से बड़ी होगी कि आप tail -250 ~/cpu.txtइसके बजाय भागना बेहतर समझेंगे ।

अपनी समस्या को हार्डवेयर से संबंधित होने के बावजूद अपने /var/log/kern.log की जांच करें (यदि यह केवल एक अपग्रेड के बाद ही हो रहा है, लेकिन फिर भी जांचने लायक नहीं है)।



0

उन लोगों के लिए जिन्हें आपके पोटीन (SSH क्लाइंट) सत्र समाप्त होने के बाद इस कमांड को चलाने की आवश्यकता है। आप कमांड का उपयोग कर सकते हैं screen(या इसका उपयोग करके इंस्टॉल कर सकते हैं apt-get)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.