উত্তর:
এটি খুব ভাল কাজ করে:
while true; do uptime >> uptime.log; sleep 1; done
এটি আপনার সিপিইউ লোড প্রতি সেকেন্ডে লগ করবে এবং এটিকে একটি ফাইলে সংযুক্ত করবে uptime.log।
তারপরে আপনি একটি দুর্দান্ত গ্রাফ তৈরি করতে এই ফাইলটি জিনুমারিক বা ওপেনঅফিস স্প্রেডশিটে আমদানি করতে পারেন (আমদানির ক্ষেত্রে 'স্পেস দ্বারা আলাদা' নির্বাচন করুন)।
স্কেইন লক্ষ্য করেছেন যে সমস্যাটি সনাক্ত করার জন্য এটি যথেষ্ট হবে না। সুতরাং, অতিরিক্ত হিসাবে এটি চালান (বা এই অংশের জন্য তার উত্তরটি ব্যবহার করুন):
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
এটি ps.logপ্রতি পাঁচ সেকেন্ডে শীর্ষস্থানীয় 10 টি সর্বাধিক সিপিইউ ক্ষুধার্ত প্রক্রিয়াগুলিকে একটি ফাইলে সংযুক্ত করবে ।
নোট করুন যে এটি সম্পূর্ণ নৌকা-বোঝা নয় যে তথ্য topআপনাকে দেবে। এটি কেবল শীর্ষ 10, এবং কেবলমাত্র তাদের সিপিইউ ব্যবহার, মেমোরি ইউজ এবং প্রথম যুক্তি (যেমন তাদের আর কোনও যুক্তি ছাড়াই কমান্ড, যেমন রয়েছে /usr/bin/firefox)
আপনার সিপিইউ লোড কখন ছাদের মধ্য দিয়ে গেছে তা দেখার জন্য আপনি কোনও গ্রাফ তৈরি করতে স্প্রেডশিট ব্যবহার করার পরে, কোন প্রক্রিয়াটি এর ফলে ঘটেছে তা দেখতে আপনি নিকটতম সময়ের জন্য এই ফাইলটি অনুসন্ধান করতে পারেন।
এই ফাইলগুলি দেখতে এই রকম হবে:
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 পরীক্ষা করে দেখুন (এটি কেবলমাত্র একটি আপগ্রেডের পরে ঘটছে তবে সম্ভাব্য তবে তা পরীক্ষা করে দেখার মতো নয়)।
আমি দেখেছি একটি দুর্দান্ত উত্তর দ্বারা ক্রিস্টোফার করার ইউনিক্স এবং Linux এ এই প্রশ্নের যে ব্যবহারসমূহ top:
top -n 1 -b > top.out
এটি আপনাকে 1 টি পুনরাবৃত্তি দেবে topতারপরে থামবে এবং তারপরে এটি একটি ফাইলে ধাক্কা দেবে।