আমি কীভাবে প্রতি প্রক্রিয়াতে সিপিইউ ব্যবহার লগ করব?


18

লিনোডে আমার একটি বাক্স রয়েছে যা অদ্ভুত আচরণের মধ্য দিয়ে যাচ্ছে। প্রতিবার এবং তারপরে সিপিইউ এবং ডিস্ক আই / ও 100% এ গুলি করবে এবং সার্ভারটি প্রতিক্রিয়াবিহীন হয়ে উঠবে এবং বুট করতে হবে। আমি কী চলছে তা আরও ভাল করে তদন্ত করতে চাই, তবে কীভাবে কীভাবে এই সমস্ত সিপিইউ এবং আই / ও'র জন্য দায়ী তা খুঁজে বের করতে জানি না। আমি জেন্টু ২.6.১৮ চালাচ্ছি।

উত্তর:


20

আপনি এরকম কিছু করার চেষ্টা করতে পারেন:

while true; do ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 >> logfile.txt; printf "\n" >> logfile.txt; sleep 3; done

এটি আপনাকে সিপিইউ ব্যবহারের ক্ষেত্রে শীর্ষ দশ প্রক্রিয়াগুলি দেখায়। "হেড -10" তে 10 কে আলাদা একটি সংখ্যায় পরিবর্তন করে প্রদর্শিত প্রসেসের সংখ্যা পরিবর্তন করতে পারেন এবং "ঘুম 3" তে 3 পরিবর্তন করে বা "ঘুম 3" অংশটি পুরোপুরি বের করে কত ঘন ঘন আপডেট হয়।


5
নিশ্চিত হোন যে আপনার এখানে কিছুটা ঘুম আছে, অন্যথায় আপনার শেল প্রক্রিয়া সর্বদা শীর্ষে থাকবে 10 এর একটি ভাল সম্ভাবনা রয়েছে :) :)
জেডবার্গ

আমি মনে করি sort -nrযে সংখ্যার দিক থেকে বাছাই করা ভাল হবে (কমপক্ষে আমার উবুন্টু / ডেবিয়ান বক্সেন-এ)

2
বিটিডাব্লু, আপনার এই প্রক্রিয়াটিকে সর্বোচ্চ অগ্রাধিকার দেওয়া উচিত, উচ্চ চাপের শিখরগুলির সময় এটি কার্যকর থাকার জন্য (যা সর্বোপরি এটি তার জীবনের মূল বিষয়)।
স্পেসডিভার

12

উপরে যাচাই করে দেখুন এটি সম্ভবত আপনি যা চান তার অনেকগুলি বাইনারি লগ লিখবে এবং তারপরে আপনি দিনের সময় স্লাইসগুলি অতিক্রম করার জন্য গুইয়ের মতো শীর্ষ ব্যবহার করতে পারেন (প্রতি 5 মিনিটের মধ্যে ডেটা ডিফল্ট নিতে হয়)। http://www.atcomputing.nl/Tools/atop/


6

আমি মনে করি যে মুনিন নিরীক্ষণের অন্যতম সরঞ্জাম সরঞ্জাম যা আপনাকে আপনার বক্সের ক্রিয়াকলাপ সম্পর্কে কিছু তথ্য পেতে সহায়তা করবে। এছাড়াও, কিছু কমান্ড লাইন সরঞ্জাম যেমন সর , আইওস্ট্যাট, পিএস, শীর্ষ ব্যবহারের জন্য রয়েছে।


5

অন্যান্য উত্তরগুলি কেবল আপনাকে কীভাবে বর্তমানে কী চলছে তা কীভাবে দেখতে পারবেন তা দেখিয়েছে, যা সিস্টেমটি পুনরায় বুট করার পরে যদি সহায়তা করে না।

আপনি যদি এই তথ্যগুলি উত্তরোত্তর জন্য রেকর্ড করতে চান (বা বিলিং, বা অন্য যে কোনও ব্যবহার আপনার কাছে থাকতে পারে), আপনি যা চান সেটি প্রক্রিয়া অ্যাকাউন্টিং।

আমি খুঁজে পেয়েছি এমন একটি হাটো এখানে রয়েছে, তবে আমি সত্যবাদী হব - প্রক্রিয়া অ্যাকাউন্টিংটি ব্যবহার করার পরে এক দশক হয়ে গেছে।

http://tldp.org/HOWTO/Process-Accounting/


2

কাছাকাছি রিয়েল-টাইম পর্যবেক্ষণের জন্য শানের সমাধানের জন্য আরও ব্যবহারকারী-বান্ধব পদ্ধতির:

while true; do clear; ps -eo pcpu,pmem,pid,user,args --sort=-pcpu c|head -20; sleep 1; done

এটি শীর্ষ ২০ টি প্রক্রিয়াগুলির স্থিতিশীল ভিউ সরবরাহ করবে যা প্রতি 1 সেকেন্ডে রিফ্রেশ হবে। পিএস কমান্ডের "সি" বিকল্পটি পুরো আর্গ কমান্ডের চেয়ে প্রসেস এক্সিকিউটেবল নাম প্রিন্ট করবে। পরিবর্তে পুরো কমান্ডের তথ্য প্রয়োজন হলে আপনি এই বিকল্পটি বাদ দিতে পারেন। % মেমরি ব্যবহার কলাম যুক্ত করা হয়েছে।


1

জেন্টুর কি ওয়েল হিসাবে "শীর্ষ" কমান্ড নেই?

machine:~/# top

আপনাকে এমন চলমান পরিসংখ্যান দেওয়া উচিত যার মধ্যে প্রোগ্রামগুলি সবচেয়ে বেশি বোঝা তৈরি করে causes


হ্যাঁ আমি জানি, তবে আমি সেই লগইনটি করতে চাই যাতে ইতিহাসটি পরে দেখা যায়। সিপিইউ স্পাইক করলে মেশিনটি প্রতিক্রিয়াহীন হয়ে যায়, তাই আমি লগ ইন topকরে দোষী কে তা দেখতে দৌড়াতে পারি না । আমি পরে আবার পরীক্ষা করতে এবং কোন প্রক্রিয়া এটি করেছে তা দেখতে চাই।
হেল্ডার এস রিবেইরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.