যদিও বিষয়টি বেশ পুরানো, আমি সিগ্রুপ লিনাক্স কার্নেল বৈশিষ্ট্য থেকে উদ্ভূত অন্য একটি প্রকল্প ভাগ করতে চাই।
https://github.com/gsauthof/cgmemtime :
সিজিএমটাইম একটি প্রক্রিয়া এবং এর বংশধর প্রক্রিয়াগুলির উচ্চ-জল আরএসএস + ক্যাস মেমরির ব্যবহার পরিমাপ করে।
এটি করতে সক্ষম হওয়ায় এটি প্রক্রিয়াটিকে তার নিজস্ব ক্রুপে ফেলে দেয়।
উদাহরণস্বরূপ প্রক্রিয়া A 10 মাইবি বরাদ্দ করে এবং এমন 20 টি মাইবি বরাদ্দকারী একটি শিশুকে কাঁটাচামচ করে এবং এটি এমন 30 টি মাইবি বরাদ্দকারী একটি শিশু সিকে কাঁটাচামচ করে। তিনটি প্রক্রিয়া একটি টাইম উইন্ডো ভাগ করে যেখানে তাদের বরাদ্দগুলির ফলে সম্পর্কিত আরএসএস (আবাসিক সেট আকার) মেমরির ব্যবহার হয়।
এখন প্রশ্ন: এ চলার ফলে আসলে কত স্মৃতি ব্যবহৃত হয়?
উত্তর: 60 এমআইবি
সিজিএমটাইম হ'ল এই জাতীয় প্রশ্নের উত্তর দেওয়ার হাতিয়ার।
ব্যবহারের উদাহরণগুলি হ'ল:
$ sudo ./cgmemtime --setup -g <myusergroup> --perm 775
$ ./cgmemtime ./testa x 10 20 30
Parent PID is 27189
Allocating 10 MiBs
New Child: 27193
Allocating 20 MiBs
New Child: 27194
Allocating 30 MiBs
Child user: 0.000 s
Child sys : 0.005 s
Child wall: 6.006 s
Child high-water RSS : 11648 KiB
Recursive and acc. high-water RSS+CACHE : 61840 KiB
$ ./cgmemtime python -c 'print range(100000)[48517]'
48517
Child user: 0.014 s
Child sys : 0.014 s
Child wall: 0.029 s
Child high-water RSS : 9948 KiB
Recursive and acc. high-water RSS+CACHE : 5724 KiB