যেহেতু গুগল ক্রোম / ক্রোমিয়াম একাধিক প্রক্রিয়া ছড়িয়ে দেয় তবে এই প্রক্রিয়াগুলি মোট কতগুলি মেমোরি ব্যবহার করে তা দেখা শক্ত।
সংযুক্ত প্রক্রিয়াগুলির একটি সিরিজ কত মোট স্মৃতি ব্যবহার করছে তা দেখার কোনও সহজ উপায় আছে?
যেহেতু গুগল ক্রোম / ক্রোমিয়াম একাধিক প্রক্রিয়া ছড়িয়ে দেয় তবে এই প্রক্রিয়াগুলি মোট কতগুলি মেমোরি ব্যবহার করে তা দেখা শক্ত।
সংযুক্ত প্রক্রিয়াগুলির একটি সিরিজ কত মোট স্মৃতি ব্যবহার করছে তা দেখার কোনও সহজ উপায় আছে?
উত্তর:
প্রদত্ত যে Google Chrome নিহত: // মেমরির মার্চ 2016 সালে, আমি এখন ব্যবহার করছি smem :
# detailed output, in kB apparently
smem -t -P chrom
# just the total PSS, with automatic unit:
smem -t -k -c pss -P chrom | tail -n 1
chromপুরো পথ দ্বারা প্রতিস্থাপন যেমন /opt/google/chromeবা/usr/lib64/chromium-browser-P firefoxsudo smemজন্য ব্যবহার করুন ।338.0M। এটি খুব কম। যখন আমি সিস্টেম মনিটর চালনা করি, আমি দেখতে পাচ্ছি যে এখানে 11 ক্রোম প্রক্রিয়া রয়েছে এবং প্রতিটি 70MB এবং 400MB র্যামের মধ্যে নিচ্ছে। সিস্টেম মনিটর ভুলভাবে রিপোর্ট করছে কিনা তা নিশ্চিত নয়।
chromeকেবল পরিবর্তে ব্যবহার করব chormকারণ আপনি যদি ক্রোম এবং ক্রোমিয়াম উভয়ই চালাচ্ছেন তবে আপনি উভয়ের জন্য মোট দেখছেন।
smemমতো কিছু ব্যবহার করে আপনি নিজের আউটপুট থেকে বাদ দিতে পারেন । এটি স্কোয়ার বন্ধনীগুলির ভিতরে এবং না বন্ধনীগুলি নিজের দ্বারা মিলিয়ে কাজ করে। [c]hromesmem -tkP '[c]hrome'c
আমি নিশ্চিত যে এটি সর্বোত্তম সমাধান নয়, তবুও এটি আমার পক্ষে কার্যকর:
#!/bin/sh
ps aux | grep "[/]opt/google/chrome/chrome" | awk '{print $5}' | awk '{sum += $1 } END { print sum }'
ps aux | grep "[/]opt/google/chrome/chrome" | awk '{print $6}' | awk '{sum += $1 } END { print sum }'
দ্রষ্টব্য: [/]opt/google/chrome/chromeআপনার সিস্টেমের জন্য উপযুক্ত কিছুতে পরিবর্তন করুন , উদাহরণস্বরূপ আপনি যদি ম্যাক ওএস এক্সে থাকেন (কেবল কার্যকর grep "chrome"হবে)।
awkআদেশ কেন ? তা হচ্ছে, শুধু কেন নয় ... | awk '{sum += $6} END {print sum}'?
ps aux | grep "/opt/google/chrome/chrome" | awk '{vsz += $5; rss += $6} END { print "vsz="vsz, "rss="rss }'
smemশীর্ষ উত্তর প্রতি ব্যবহার করুন । যদিও এফডাব্লুআইডাব্লু, আমি এটি একটি স্ক্রিপ্ট বা ফাংশন হিসাবে প্রয়োগ করব, কারণ এটি একটি উলের জন্য খুব জটিল।
এটি চলছে:
perl -e '$a="x"x1000000000;sleep(10);print"done\n"'
1.8 গিগাবাইট র্যাম নেয়। সুতরাং আপনি এটি চালানো আশা করবেন:
perl -e '$a="x"x1000000000;fork;fork;fork;fork;sleep(10);print"done\n"'
হিসাবে 16 বার গ্রহণ করা হবে। তবে তা হয় না।
এটি লিনাক্স কার্নেলের বুদ্ধিমান অনুলিপি-অন-লেখার কারণে হয়েছে: কারণ '$ a' এর সামগ্রী পরিবর্তন হয় না, তারপরে '$ a' এর স্মৃতি ভাগ করা যায়। তবে 'shared এ' পরিবর্তন না হওয়া পর্যন্ত এটি ভাগ করা থাকবে shared যখন এটি হয়, পরিবর্তিত বিভাগটি অনুলিপি করা হবে এবং র্যাম নেওয়া শুরু করবে।
আপনি কতটা মেমরি কপি-অন-রাইটিং ওভার-প্রতিশ্রুতিবদ্ধ তা পরিমাপ করতে পারবেন কিনা তা আমি জানি না। তবে কমপক্ষে এটি আপনার অতিরিক্ত গণনার ব্যাখ্যা দেয়।
কেবলমাত্র প্রক্রিয়াগুলির যোগফল গণনা করুন।
উপর ম্যাক :
chrome://system/এবং সমস্ত মেমো_সেজে রিপোর্ট করা নির্বাচন করুনpython, সিএমডি + ভি, এন্টার দিনএট ভয়েলা! "সহজ" ... 🤓😅
পিএস - শর্টকাট নিনজাস এবং 80s / 90 এর দশকে ফাইটিং-গেমের খেলোয়াড়দের এই সমাধানটিতে কোনও সমস্যা হওয়া উচিত নয় 🤖🕹💾
আমি ভিএম এবং অজকের সাথে একটি সমাধান পেয়েছি। ক্রোম: // সিস্টেম ওপেন করুন, মেমো-ইউজেজ প্রসারিত করুন, ভিমে অনুলিপি করুন এবং রিজ এক্সপ এক্সিকিউট করুন:
:%s/\D*\(\d*\).MB.*/\1
এটি এমবি এর আগে কেবল সংখ্যা ছেড়ে দেয়। ফাইলটি সংরক্ষণ করুন এবং সম্পাদন করুন
cat file | awk '{sum += $1} END {print sum}'
আমি ভিম রিজেক্সপ কোডটি সেডে রূপান্তর করতে পারিনি।
এখানে ইউএসএস রয়েছে যা ক্রস প্ল্যাটফর্মগুলিতে উপলব্ধ
ইউএসএস (ইউনিক সেট আকার) হ'ল মেমোরি যা কোনও প্রক্রিয়াটির জন্য অনন্য এবং প্রসেসটি এখনই বন্ধ হয়ে গেলে মুক্তি দেওয়া হবে।
PSutil> 4.0 পাইথন গ্রন্থাগার এটি অ্যাক্সেস করতে পারে
এখানে আমি এটি ব্যবহার করবে
sudo python3 -c "import psutil;print(sum(p.memory_full_info().uss for p in psutil.Process(pid=292).children())/1024/1024);"
যেখানে পিডি = 292 কার্যকলাপ মনিটর থেকে সর্বাধিক বাহ্যিক প্রক্রিয়ার পিআইডি
আমি জানতাম যে ক্রোম / ক্রোমিয়ামের একটি টাস্ক ম্যানেজার রয়েছে তবে এটি ব্যবহৃত মোট মেমরি দেয় না। দেখা যাচ্ছে যে টাস্ক ম্যানেজারের "নার্দের জন্য পরিসংখ্যান" লিঙ্কটি ক্রোম বাড়ে: // মেমরি-রিডাইরেক্ট / যা মোট ব্যবহৃত মেমরির তালিকা করে। এই সংখ্যার বাহ্যিক বৈধতা পাওয়ার পাশাপাশি কমান্ড লাইনে তথ্য পাওয়ার একটি উপায়ও এটি দিয়ে আরও অনেক কিছু করা যায়, তবে এটি সম্ভবত সেরা উপায় বলে মনে হয়।