जवाबों:
यह बहुत अच्छी तरह से काम करता है:
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
...
ps
निरर्थक है, तो इसे रूट के रूप में चलाने का प्रयास करें।
आप विकल्प top
का उपयोग करके कमांड को बैच मोड में चला सकते हैं -b
, फिर उस फाइल को डंप कर सकते हैं।
अपने पीसी के शुरू होने पर, एक टर्मिनल खोलें, चलाएं
top -b > ~/cpu.txt
तब जब आपका पीसी जमा देता है, तो बस (शायद विशाल) टेक्स्ट फ़ाइल खोलें और क्रैश से ठीक पहले क्या चल रहा था, इस पर कुछ विवरण के लिए अंतिम प्रविष्टि की जांच करें। वास्तव में फ़ाइल इतनी बड़ी रूप से बड़ी होगी कि आप tail -250 ~/cpu.txt
इसके बजाय भागना बेहतर समझेंगे ।
अपनी समस्या को हार्डवेयर से संबंधित होने के बावजूद अपने /var/log/kern.log की जांच करें (यदि यह केवल एक अपग्रेड के बाद ही हो रहा है, लेकिन फिर भी जांचने लायक नहीं है)।
मैंने पाया एक महान जवाब द्वारा क्रिस्टोफर को यूनिक्स और लिनक्स पर इस सवाल का कि का उपयोग करता है top
:
top -n 1 -b > top.out
यह आपको top
तब रुकने का 1 पुनरावृत्ति देगा , और फिर इसे एक फ़ाइल में धकेल देगा।