কিভাবে একটি প্রক্রিয়া দ্বারা গ্রাস স্মৃতি নিরীক্ষণ?


16

আমার একটি প্রক্রিয়া রয়েছে যা আমি দেখতে চাই এটি চলমান অবস্থায় এটি কতটা স্মৃতি গ্রহণ করে।

এখনই আমি এটি করছি:

ps faux | grep casper

তবে এটি আমাকে সেই মুহুর্তের তথ্য দেয়। স্ক্রিপ্টটি এগিয়ে যাওয়ার সাথে সাথে সেই মানটি পরিবর্তিত হয়ে দেখে ভাল লাগবে।

কোন উপায়ে আমি এটি করতে পারি?

উত্তর:


15

পদ্ধতি 1

চালান:

top

প্রোগ্রামটির পিআইডি (প্রথম কলাম) পরীক্ষা করুন, তারপরে চালান:

top -p PID

পদ্ধতি 2

হয় এটিকে টার্মিনালে আটকান বা এটি একটি mem_usage.sh হিসাবে সংরক্ষণ করুন এবং এটি টার্মিনাল থেকে চালান।

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done

1
% প্রদর্শন করা থেকে আপনি কীভাবে এটি পরিবর্তন করতে পারেন? আগ্রহের বাইরে :-)
উইল্ফ

স্ক্রিপ্টটি চালানোর সময় আমি এটি পেয়েছি: বাশ: ./mmory_usage.sh: বিন / বাশ: খারাপ দোভাষী: এরকম কোনও ফাইল বা ডিরেক্টরি নেই
হোমার স্মিথ

বাঃ! আমি এটি সম্পাদনা করেছি! পোস্ট করার আগে এটি সঠিকভাবে পরীক্ষা করা উচিত ছিল। প্রথম লাইনে এটি / বিন / বাশ থেকে কোথায় চালানো উচিত তা বলা উচিত (আমার কাছে বিন / বাশ ছিল তাই এটি বাশের জন্য বিন নামে একটি ফোল্ডারে স্থানীয়ভাবে পরীক্ষা করছিল)
জুলিয়ান স্টার্লিং

1
@ উইলফ পিএস ফ্যাক্স | গ্রেপ ক্যাস্পার | awk '{মুদ্রণ $ 11} {মুদ্রণ $ 6}' এটি আপনাকে এক লাইনে প্রোগ্রামের নাম এবং পরের কেবিতে আসল মেমরির আকার দেয়।
জুলিয়ান স্ট্রিলিং

7

কেবলমাত্র আপনার প্রক্রিয়া পর্যবেক্ষণ করতে আপনি / proc / PID / স্থিতি বা / proc / PID / স্ট্যাটাম চেক করতে পারেন।

সম্পর্কে / প্রোক / পিআইডি / স্ট্যাটাম:

করার পরে cat /proc/PID/statmআপনার এটি দেখতে হবে:

611450 185001 883 18 0 593431 0

ব্যাখ্যা:

  1. আকার: - মোট প্রোগ্রামের আকার (611450 এক্স 4096/1024 = 2445800 কেবি = 2388 এম)
  2. বাসিন্দা: - আবাসিক সেট আকার (185001 এক্স 4096/1024 = 740004 কেবি = 722 এম)
  3. ভাগ করুন: - ভাগ করা পৃষ্ঠাগুলি (883 এক্স 4096 = 3532)
  4. টিআরএস: - পাঠ্য (কোড) (18 এক্স 4096/1024 = 72 কেবি = ভিএমএক্সি)
  5. drs: - ডেটা / স্ট্যাক
  6. lrs: - লাইব্রেরি (593431 এক্স 4096/1024 = 2373724 কেবি = ভিএমডাটা + ভিএমস্টক)
  7. dt: - নোংরা পৃষ্ঠাগুলি

এছাড়াও আপনি তারিখ এবং বিড়াল ব্যবহার করে আপনার প্রক্রিয়াটির জন্য মেমরির ক্রিয়াকলাপটি লগ করতে পারেন।


4

আপনি 'শীর্ষ' ব্যবহার করতে পারেন

man top

এই প্রোগ্রামটি আপনাকে অন্যদের মধ্যে আরএসএস, ভিএসজেড, সিপিইউ ইত্যাদির মাধ্যমে সংস্থান ব্যবহারের জন্য বাছাই করতে দেয় It's এটি খুব কার্যকর।

বিকল্পভাবে, মেমরির ব্যবহারের আরও বিশদ ভাঙ্গার জন্য, 'পিএমএপ' ব্যবহার করে দেখুন

man pmap

ব্যবহারের উদাহরণ:

pmap -x 1234

চিয়ার্স

SC।


1
এর সাথে pmap -x PID, আপনি কী অবিশ্বাস্যভাবে বিশদ ব্যবহারের অর্থ বোঝাতে চেয়েছিলেন :-)
উইল্ফ

সত্যই - কখনও পর্যাপ্ত বিবরণ থাকতে পারে না :)
সুইসচিজ

1
আমার (উবুন্টু 16.04.5 এলটিএস) পিআইডি সহ "পিএমএপ-এক্স" পিআইডি এবং কমান্ড ব্যতীত অন্য কিছু দেখায় না। -এক্স একই কাজ করে।
অ্যার্ড


1

চেষ্টা করে দেখুন:

watch 'ps faux | grep -v grep | grep casper'

আপনি --interval <seconds>প্যারামিটার ব্যবহার করে রিফ্রেশ ব্যবধান পরিবর্তন করতে পারেন ।


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