আইটপ দ্বারা প্রদর্শিত তথ্য পৃথক প্রক্রিয়া এবং পুরো সিস্টেমের জন্য একইভাবে সংগ্রহ করা হয় না। "প্রকৃত" বৈশ্বিক পরিসংখ্যানগুলি প্রতি-প্রক্রিয়া সংখ্যার যোগফল নয় (এটিই "মোট" যা)।
সমস্ত তথ্য সংগ্রহকারী ফাইল সিস্টেম থেকে সংগ্রহ করা হয় ।
- প্রতিটি প্রক্রিয়াটির জন্য, আইটপ বিশেষত এবং মানগুলি থেকে ডেটা পড়ে । এই পাস বাইটের সংখ্যা হয় এবং সিস্টেম কল (তত্সহ যেমন ভ্যারিয়েন্টস , , , , ইত্যাদি)।
/proc/PID/io
rchar
wchar
read
write
readv
writev
recv
send
- বিশ্বব্যাপী "আসল" মানগুলি
/proc/vmstat
বিশেষত মান pgpgin
এবং pgpgout
মানগুলি থেকে পড়ে । এগুলি কার্নেল এবং হার্ডওয়্যারের মধ্যে বিনিময় হওয়া ডেটা পরিমাপ করে (আরও স্পষ্টভাবে, এটি সেই তথ্য যা কার্নেলের ব্লক ডিভাইস স্তর দ্বারা পরিবর্তিত হয়)।
প্রতি-প্রক্রিয়া ডেটা এবং ব্লক ডিভাইস স্তর ডেটা পৃথক করার জন্য অনেকগুলি কারণ রয়েছে। নির্দিষ্টভাবে:
- ক্যাচিং এবং বাফারিং এর অর্থ হ'ল আমি / হে এক স্তরে ঘটছে একই সময়ে বা একই স্তরের একই স্তরে আর ঘটবে না। উদাহরণস্বরূপ, ক্যাশে থেকে পড়া ডেটা যে প্রক্রিয়াটি অ্যাক্সেস করে তা থেকে পঠন হিসাবে গণ্য করা হয়, তবে হার্ডওয়্যার থেকে কোনও সম্পর্কিত পঠন নেই (এটি ইতিমধ্যে ঘটেছে সম্ভবত সম্ভবত অন্য প্রক্রিয়ার পক্ষে)।
- প্রক্রিয়া-স্তরের ডেটাতে পাইপ, সকেট এবং অন্যান্য ইনপুট / আউটপুট বিনিময় করা ডেটা অন্তর্ভুক্ত থাকে যা অন্তর্নিহিত ডিস্ক বা অন্যান্য ব্লক ডিভাইসকে জড়িত করে না।
- প্রক্রিয়া-স্তরের ডেটা কেবল ফাইলের সামগ্রীর জন্য অ্যাকাউন্ট করে, মেটাডেটা নয়।
এই শেষ পার্থক্যটি আপনি এখানে যা দেখছেন তা ব্যাখ্যা করে। ফাইলগুলি সরানো কেবল ডেটা নয় মেটাডেটাকে প্রভাবিত করে, তাই প্রক্রিয়াটি কিছুই লিখছে না। ফাইলগুলি মুছতে তালিকাভুক্ত করার জন্য এটি ডিরেক্টরি বিষয়বস্তু পড়তে হতে পারে তবে এটি এতটা ছোট যে এটি নজরে না রেখে স্ক্রোল করতে পারে।
আমি মনে করি না লিনাক্স ফাইল মেটাডেটা আপডেটগুলি নিরীক্ষণের জন্য কোনও উপায় সরবরাহ করে। আপনি /sys/fs
কিছু ফাইল সিস্টেমের জন্য এন্ট্রিগুলির মাধ্যমে প্রতি ফাইল সিস্টেম I / O পর্যবেক্ষণ করতে পারেন । আমি মনে করি না যে আপনি নির্দিষ্ট প্রক্রিয়াগুলির বিরুদ্ধে মেটাডেটা I / O হিসাবে অ্যাকাউন্ট করতে পারেন, সাধারণ ক্ষেত্রে এটি করা খুব জটিল হবে কারণ একাধিক প্রক্রিয়া একই মেটাডেটা পড়ার বা পরিবর্তনের কারণ হতে পারে।