আপনি প্রবেশের /proc/<pid>/smaps
আকারে প্রতিটি প্রক্রিয়াটির জন্য ফাইল থেকে এই ধরণের তথ্য পেতে পারেন Pss
("সমানুপাতিক শেয়ারের আকারের জন্য সংক্ষিপ্ত)"।
উপরোক্ত উদাহরণে 200MB দুটি প্রসেসের মধ্যে "ভাগ" করা হয়েছে, প্রতিটি প্রক্রিয়া সেই ম্যাপিংয়ের জন্য পিএসএস এন্ট্রিতে 100MB দেখায়, অর্থাৎ মেমরিটি ভাগ করে নেওয়ার প্রক্রিয়াগুলির মধ্যে সমানভাবে বিতরণ করা হয় (যতক্ষণ না এটি উভয় প্রক্রিয়া দ্বারা অনুলিপি করা হয় এবং ভাগ না করা হয়)।
আপনি যা পোস্ট করেছেন তার মতো কিছু চালানো থেকে এখানে একটি নির্যাস দেওয়া হয়েছে:
$ top
...
30986 me 20 0 790m 769m 2200 S 0 4.8 0:00.48 python3.2
30987 me 20 0 790m 767m 224 S 0 4.8 0:00.00 python3.2
$ cat /proc/30986/smaps
...
0119a000-015b7000 rw-p 00000000 00:00 0 [heap]
Size: 4212 kB
Rss: 3924 kB
Pss: 1992 kB
...
7fa06b020000-7fa09ab11000 rw-p 00000000 00:00 0
Size: 781252 kB
Rss: 781252 kB
Pss: 390626 kB
...
7fff8e45a000-7fff8e489000 rw-p 00000000 00:00 0 [stack]
Size: 192 kB
Rss: 160 kB
Pss: 82 kB
...
(এই ফাইলগুলিতে প্রচুর স্টাফ রয়েছে, অনেকগুলি প্রক্রিয়াগুলির মধ্যে ভাগ করে নেওয়া ভাগ করা লাইব্রেরিগুলির ম্যাপিং সহ, এবং এইভাবে প্রতিটি প্রক্রিয়া তার পিএসএস এন্ট্রিতে সামান্য পরিমাণে জড়িত))
এটি সম্পর্কে একটি সুন্দর নিবন্ধ এখানে: ইসিএল: অ্যাপ্লিকেশনগুলি আসলে কতটা মেমরি ব্যবহার করছে?
আমি এই তথ্যটি প্রদর্শনের জন্য কোনও শীর্ষের মতো সাধারণ সরঞ্জাম সম্পর্কে জানি না এবং ps
দুর্ভাগ্যক্রমে এটি দেখানোর বিকল্প রয়েছে বলে আমি মনে করি না । নিবন্ধটি pagemap
ম্যাট ম্যাকল কলযুক্ত পাইথন স্ক্রিপ্টগুলির সাথে একটি সংগ্রহস্থলের দিকে ইঙ্গিত করেছে যা আপনি যদিও ব্যবহার করতে বা মানিয়ে নিতে পারেন।
লজ্জাজনক প্লাগ: আপনি ইউএসিক্স এবং পিএসএস সম্পর্কে লিনাক্স এবং smaps
ফাইলের বিষয়ে আগ্রহী কিছু পোস্ট পাবেন ।