এই অ্যাপ্লিকেশনটি কতটা র্যাম ব্যবহার করছে?


10

আমি যদি চালনা করি top -cবা htopতাদের মেমরির খরচ নিয়ে আমি প্রক্রিয়াগুলি পাই তবে এটি আমি দেখতে চাই না।

এমন কোনও কমান্ড লাইন রয়েছে যা কোনও প্রদত্ত অ্যাপ্লিকেশনটির র্যাম ব্যবহার দেখতে দেয়?

উদাহরণস্বরূপ, আমি অ্যাপাচি ওয়েব সার্ভারের র্যাম ব্যবহার দেখতে চাই (পরিবর্তিত এটির সমস্ত প্রক্রিয়াগুলি পরীক্ষা করে নয়)

ram 


ধন্যবাদ। এটির মধ্যে আমি যেটি খুঁজে পেতে পারি তা হ'ল প্রক্রিয়া অনুসারে একটি মেমরি

উত্তর:


4

এখানে একটি খুব ভাল বিস্তারিত ব্যাখ্যা রয়েছে: https://blogs.kde.org/2005/09/15/measuring-memory-usage

তবে মূলত: আপনাকে অ্যাপ্লিকেশনটি কীভাবে সেট আপ করা হয়েছে তা সত্যই খনন করতে হবে এবং বুঝতে হবে।

সুতরাং উদাহরণস্বরূপ, মাইএসকিএল তাকান:

  PID  PPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                    
 6004 16116 composit  20   0 37900  27m 2908 S    0  0.2   0:40.33 mysqld                                                                                                                                            
16115 16085 composit  20   0 37900  27m 2908 S    0  0.2   0:00.37 mysqld                                                                                                                                            
16116 16115 composit  20   0 37900  27m 2908 S    0  0.2   2:07.34 mysqld                                                                                                                                            
16117 16116 composit  20   0 37900  27m 2908 S    0  0.2   0:00.00 mysqld                                                                                                                                            
16118 16116 composit  20   0 37900  27m 2908 S    0  0.2   3:19.79 mysqld                                                                                                                                            
16119 16116 composit  20   0 37900  27m 2908 S    0  0.2   0:00.01 mysqld                                                                                                                                            
16120 16116 composit  20   0 37900  27m 2908 S    0  0.2   5:31.09 mysqld                                                                                                                                            
16121 16116 composit  20   0 37900  27m 2908 S    0  0.2  14:19.53 mysqld                                                                                                                                            
16122 16116 composit  20   0 37900  27m 2908 S    0  0.2  36:13.67 mysqld                                                                                                                                            
16123 16116 composit  20   0 37900  27m 2908 S    0  0.2  30:30.64 mysqld                                                                                                                                            
16124 16116 composit  20   0 37900  27m 2908 S    0  0.2   0:00.15 mysqld                                                                                                                                            
16493 16116 composit  20   0 37900  27m 2908 S    0  0.2   0:00.00 mysqld    

ব্যবহৃত মোট স্মৃতি প্রায় 25 এমবি (27 এমবি আরইএস নিন এবং ভাগ করে নেওয়া (এসএইচআর) বিয়োগ করুন)

আমি "কিল্লাল মাইএসকিএলডি" দেওয়ার আগে এবং পরে মোট মেমরির ব্যবহার (ফ্রি-এম, + / বাফার্স / ক্যাশে) যাচাই করে এটি বৈধ করেছি। সমস্ত মাইএসকিএলড প্রক্রিয়া মারার পরে, "ফ্রি-এম" অনুসারে মেমরির ব্যবহার 25 এমবি কমে যায়।

যদি আপনি দেখতে পান যে প্রতিটি প্রক্রিয়াতে একই রকম ভিআইআরটি, আরইএস এবং এসএইচআর কলাম রয়েছে, তবে তারা সম্ভবত একই প্রক্রিয়াটির কেবল থ্রেড। (পুরাতন লিনাক্স লাইব্রেরিগুলি একাধিক বাস্তব প্রক্রিয়া তৈরি করেছিল যা মূলত একই মেমরিটি ধারণ করে)

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

দুর্ভাগ্যক্রমে লিনাক্সে এর উত্তর দেওয়ার মতো ভাল কোনও সহজ উপায় নেই। একমাত্র সহজ উপায় প্রক্রিয়াটি শেষ করার আগে অবিলম্বে "ফ্রি" চেক করা এবং ততক্ষণে আবার চেক করা। "- / + বাফার / ক্যাশে:" লাইনটি দেখুন এবং দেখুন মেমরির ব্যবহার কত কমেছে এবং এটি আপনাকে বলবে যে এটি কতটা ব্যবহার করছে was


2

এর থেকে কিছুটা সহায়তা man psএবং এই দুর্দান্ত উত্তর দিয়ে ...

ps -up $(pidof PROCESS_NAME)

উদাহরণ স্বরূপ:

[wilf@comp ~]$ ps -up $(pidof firefox)
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
wilf      1619  8.9  5.6 1464216 342396 ?      Sl   17:56   1:36 /usr/lib64/firefox/firefox
[wilf@comp ~]$ 

অন্যান্য উপায়:

cat /proc/$(pidof firefox)/status | grep VmSize

এটি ছাড়া -xএবং চালানো যেতে পারে tail -1:

pmap -x $(pidof firefox) | tail -1

শুধুমাত্র শতাংশ দেখায়:

top -p $(pidof firefox)

এছাড়াও, ব্যবহার করার সময় আপনি পড়তে সহজ করার জন্য অলস / জম্বি প্রক্রিয়াগুলি উপেক্ষা topকরতে টিপতে iপারেন: অনেক ছোট শীর্ষ আউটপুট


তবে একটি অ্যাপ্লিকেশন বেশ কয়েকটি প্রক্রিয়া চালু করে, আমি কীভাবে জানতে পারি কোনটি প্রধান?

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

2
প্রক্রিয়া দ্বারা আউটপুট পৃথক। আপনি এইভাবে সমস্ত অ্যাপাচি প্রক্রিয়া দ্বারা ব্যবহৃত মোট পরিমাণ মেমরি পাবেন না। আপনার যোগফল প্রয়োজন, তবে ভাগ করা অঞ্চলগুলি কেবল একবারই গণনা করা (এটি হ'ল কঠিন)।
গিলস 'অশুভ হওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.