কোন প্রক্রিয়া সর্বাধিক স্মৃতি ব্যবহার করছে তা কীভাবে পরীক্ষা করবেন


33

আমি যখন freeপ্রোড সার্ভারের কোনওটিতে যাচাই করি এটি 70% মেমরি ব্যবহার করে ব্যবহৃত হচ্ছে:

             total       used       free     shared    buffers     cached
Mem:     164923172  141171860   23751312          0    4555616   20648048
-/+ buffers/cache:  115968196   48954976
Swap:      8388600          0    8388600

তবে কোন প্রক্রিয়াটি মেমরিটি ব্যবহার করছে তা আমি খুঁজে পাইনি, আমি topকমান্ডটি চেষ্টা করেছি এবং এটি কেবল 1.1 এবং 5.4% মেমরি ব্যবহার করে প্রক্রিয়াটি দেখায়

কোন প্রক্রিয়াটি মেমরিটি ব্যবহার করছে তা আমি কীভাবে খুঁজে পাব?

নীচে শীর্ষ কমান্ড ফলাফল রয়েছে:

15085 couchbas  25   0 2784m 2.4g  40m S 183.7  1.5 299597:00 beam.smp
28248 tibco     18   0  124m 100m 3440 S 20.9  0.1   2721:45 tibemsd
15334 couchbas  15   0 9114m 8.6g 3288 S  9.0  5.4  12996:28 memcached
15335 couchbas  18   0  6024  600  468 S  2.0  0.0   1704:54 sigar_port
15319 couchbas  15   0  775m 2516  944 S  0.7  0.0 269:13.41 i386-linux-godu
12167 tibco     16   0 11284 1464  784 R  0.3  0.0   0:00.04 top
12701 root      15   0  451m 427m 2140 S  0.3  0.3  18:25.02 controller
13163 root      11  -5     0    0    0 S  0.3  0.0 289:58.58 vxglm_thread


দ্রুত প্রতিক্রিয়াটির জন্য ধন্যবাদ, সমস্ত খোলা ফাইলগুলি কোন ফাইলটি মেমরি খাচ্ছে তা যাচাই করার কোনও উপায় আছে কি?

1
শীর্ষস্থানীয় আউটপুটটি বাছাই করার চেষ্টা করুন - চলমান অবস্থায়, শিফট + এম
এএনোকু

উত্তর:


50

এটি আপনাকে সর্বোচ্চ 10 প্রক্রিয়াটি দেখাবে যা সর্বাধিক স্মৃতি ব্যবহার করে:

ps aux --sort=-%mem | awk 'NR<=10{print $0}'

শীর্ষ ব্যবহার করে: যখন আপনি শীর্ষপথটি খুললেন তখন mমেমরির ব্যবহারের ভিত্তিতে সংক্ষিপ্ত প্রক্রিয়া হবে।

তবে এটি আপনার সমস্যার সমাধান করবে না, লিনাক্সে সবকিছুই হয় ফাইল বা প্রক্রিয়া। সুতরাং আপনি যে ফাইলগুলি খোলেন সেগুলি স্মৃতিও খেয়ে ফেলবে। সুতরাং এই সাহায্য করবে না।

lsof ফাইলের আকার বা ফাইলগুলিতে বাইটে অফসেট সহ সমস্ত খোলা ফাইলগুলি আপনাকে দেবে।


5
আপনি headএই বজ্র স্ক্রিপ্টের পরিবর্তে ব্যবহার করতে পারেন - এটি একই আউটপুট দেয় এবং আপনি নিজেকে অনেক অদ্ভুত অক্ষর লিখে সংরক্ষণ করেন।
স্টায়ারফোম ফ্লাই 13

9

আপনার মেষটি আসলে ব্যবহৃত হয়নি। লিনাক্স কেবলমাত্র আপনার ডিস্কের স্টাফগুলিকে ডিফল্টরূপে ক্যাশে করে এবং যা ক্যাশে তা র্যামের "ব্যবহৃত" বিভাগে রাখে।

আপনি যদি এমন অ্যাপ্লিকেশন লোড করেন যা প্রকৃতপক্ষে সেই র‌্যাম ব্যবহার করে তবে এটি তাদের ব্যবহারের জন্য হবে।

Http://www.linuxatemyram.com/ দেখুন


লিনাক্স সম্পর্কে কে কিছু বলেছে?
তীমথিয় পুলিয়াম

ওপিতে একটি "আই 386-লিনাক্স-গুডু" প্রক্রিয়া চলছে
জিন-মাইকেল স্যালারিয়ার

6

সর্বাধিক স্মৃতি ব্যবহার করে প্রক্রিয়াটি পেতে আপনি পিএস পাইপ করতে পারেন এবং সাজান । এটি আপনাকে অন্যান্য প্রক্রিয়া বিশদ যা আপনি এটি দেখতে চান তা নির্দিষ্ট করতে অনুমতি দেবে:

ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less

PS: উপরেরটি ধরে নিয়েছে যে আপনার স্মৃতি কলামটি প্রথম " সাজান-কে 1 -n -r "


3

কার্নেল দ্বারা কী স্ল্যাব অবজেক্ট ব্যবহার করা হয় তা দেখতে আপনি কমান্ড স্ল্যাবটপ ব্যবহার করতে পারেন।
এছাড়াও আপনি / proc / meminfo এর আউটপুট চেক করতে পারেন

আউটপুট এই 2 লাইন জন্য সন্ধান করুন

Slab:              68136 kB
SReclaimable:      21208 kB 

উদাহরণস্বরূপ উপরে দেখায় যে 68MB স্ল্যাব ক্যাশে কার্নেল দ্বারা ব্যবহৃত হচ্ছে এবং 21MB পুনরুদ্ধার করা যেতে পারে। পুনরায় দাবি জানাতে আপনি এখানে বর্ণিত কৌশল ব্যবহার করতে পারেন https://access.redhat.com/docamentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-mmory-tunables

echo 2 > /proc/sys/vm/drop_caches  

1

একটি ইন্টারেক্টিভ বিশ্লেষণের জন্য, আপনি বাছাই করুন ক্রম বাছাই করতে htopফাংশন কী টিপুন F6, উদাহরণস্বরূপ PERCENT_CPU(পার্সেন্টগুলিতে মেমরির ব্যবহার), M_RESIDENT(বাসিন্দার মেমরির আকার, আসল মেমরি যা ব্যবহৃত হয়), M_SIZE(ভার্চুয়াল মেমরি আকার) বা M_SHARE(আকারের আকার) ভাগ করা মেমরি). প্রথম দুটি প্রাসঙ্গিক সংখ্যা

সবুজ রেখাগুলি থ্রেড হয়। হিট (আপার কেস) Kএবং Hতাদের লুকানোর জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.