লিনাক্স 'টপ' কমান্ড থেকে আউটপুট কীভাবে ব্যাখ্যা করা যায়?


27

মেমোরি কীভাবে গ্রাস করবে সে সম্পর্কে এখানে একটি আলোচনার পরে PHP-FPM, আমি সবেমাত্র topকমান্ডটিতে মেমরিটি পড়ে একটি সমস্যা পেয়েছি । topপুনরায় চালু করার ঠিক পরে আমার একটি স্ক্রিনশট এখানে PHP-FPM। সবকিছু স্বাভাবিক: প্রায় 20 টি PHP-FPMপ্রক্রিয়া, প্রতিটি গ্রাহক 5.5MB মেমরি (মোটের 0.3%)।

এখানে চিত্র বর্ণনা লিখুন

পুনরায় চালু PHP-FPMকরার ঠিক পূর্বের সার্ভারটি এখানে রয়েছে (পূর্ববর্তী পুনরারম্ভের একদিন পরে)। এখানে, আমাদের এখনও PHP-FPMডাবল মেমরির ব্যবহারের সাথে প্রায় 25 টি রয়েছে (10MB মোটের 0.5% নির্দেশ করে)। সুতরাং, ব্যবহৃত মোট স্মৃতি 600-700 এমবি হওয়া উচিত। তাহলে, কেন 1.6GB মেমরি ব্যবহার করা হয়েছে?

এখানে চিত্র বর্ণনা লিখুন



@Phemient না এটি এখানে ঘটনা নয়। আমি এই সমস্ত জিনিস পরীক্ষা করেছি। এটি পিএইচপি-এফপিএমের সাথে সংযুক্ত এমন কিছু, এবং কেবলমাত্র পিএইচপি-এফপিএম পুনরায় চালু করে মেমরিটি মুক্তি দেওয়া হবে। যাইহোক, মেম এবং মান বাফার / ক্যাশে মানগুলি freeঅভিন্ন।
গুগলবট

6
দেখে মনে হচ্ছে আপনি কোনও ভার্চুওজো "ভিএম" চালাচ্ছেন। মেমরি অ্যাকাউন্টিং things জিনিসগুলিতে যতদূর যায় সমস্ত বেট বন্ধ রয়েছে।
দোলা


প্রিয় ওম্বল এবং প্রসিদ্ধ: আমি আপনার উত্তর দুটিই চুরি করেছি! ক্যাকলস
ওয়েসলি

উত্তর:


34

টিএল; ডিআর 1

আপনার সার্ভারটি কোনও ধরণের ভ্যাচুওজো / ওপেনভিজে / ভার্চুয়ালাইজেশন-ডু-ভ্রমণ পাত্রে। স্মৃতি ব্যবহারের অনুধাবন করার চেষ্টা করা হচ্ছে উইন্ডমিলগুলিতে ঝুঁকছে।

টিএল; ডিআর 2

লিনাক্স আপনার র‌্যাম খেয়েছে! তবে এটি ঠিক আছে, এটি সবার সাথে করে।


দীর্ঘ গল্প

একে ভাঙি!

আমাদের যে Mem:বিভাগে রয়েছে:

  • $n total: আপনার মেশিনে দৈহিক র‌্যামের পরিমাণ
  • $n used: লিনাক্স কত স্মৃতি গ্রাস করছে তা কেবল প্রক্রিয়াগুলির যোগফল নয়।
  • $n free: লিনাক্স কতটা র‍্যাম গ্রাস করছে না। এটি বিবেচনায় নেই যে ক্যাশেড এবং বাফার মেমরিটি মূলত "বিনামূল্যে"।
  • $n buffers: বাফার স্পেসটি যেখানে ডিস্কের আই / ও-র ব্লকগুলি পড়ে লেখা পড়ে থাকা বা মুলতুবি থাকা stored একটি বাফারটি একটি একক ডিস্ক ব্লকের র‌্যাম উপস্থাপনা।

আমাদের যে Swap:বিভাগে রয়েছে:

  • $n total: স্ব বর্ণনামূলক। পৃষ্ঠাগুলি অদলবদল করতে ডিস্কের জায়গার পরিমাণ।
  • $n used: স্ব বর্ণনামূলক। কত ডিস্ক অদলবদল ব্যবহৃত হয়।
  • $n free: হার্প ডার্প
  • $n cache: উপরের বাফারগুলির সাথে ঘনিষ্ঠভাবে সম্পর্কিত। এটি প্রকৃতপক্ষে পৃষ্ঠার ক্যাশের অংশ এবং এটির প্রকৃত ডিস্কে কোনও স্থান নেই। এই কথোপকথনের বিশদ সম্পর্কে চিন্তা করবেন না।

আকর্ষণীয় অংশটি আসে যখন আপনি চালাবেন free -m। আপনি তিনটি লাইন দেখতে পাবেন এবং সমস্ত সংখ্যার শীর্ষের সাথে সংযুক্ত হবে। আমি উদাহরণ হিসাবে আমার নিজস্ব পিসি দেব:

             total       used       free     shared    buffers     cached
Mem:          8070       7747        323          0        253       5713
-/+ buffers/cache:       1780       6290
Swap:         5055          0       5055

মেমো সারিটি মোট র‌্যাম মেগাবাইটে ( $n totalশীর্ষে) দেখায় , কত ব্যবহৃত হয় ( $n usedশীর্ষে), কতটা নিখরচায় ( $n freeশীর্ষে) হয়, কত ভাগ হয় (তা উপেক্ষা করে), এবং এখন ভাল অংশ আসে! buffersএবং cachedকলামে free -mসম্পর্কিত, স্বভাবিকভাবেই এই প্রভাবের $n buffersএবং $n cache। তবে এটির দ্বিতীয় সারির free -mসাথে একবার দেখুন -/+ buffers/cache:। গণিতটি দেখায় যে ব্যবহৃত পরিমাণটি সত্যই (মোট) - ((ব্যবহৃত-বাফারস) -যুক্ত)। ফ্রি হ'ল (মোট) - (নতুন নিউজড)।

এই সব কি মানে? এর অর্থ লিনাক্স আপনার র‌্যাম খেয়েছে! সংক্ষিপ্ত বিবরণটি হ'ল লিনাক্স কার্নেলটি র‌্যাম আপ করে দেয় কারণ এটি ডিস্ক ক্যাচিংয়ের জন্য ব্যবহার করতে পারে। আপনি যদি কাস্টম কার্নেলটি সংকলন করার চেষ্টা অনুভব না করেন তবে এটি সম্পর্কে আপনি কিছুই করতে পারবেন না। প্রো টিপ: না।

র‌্যামটি সত্যই সেখানে রয়েছে এবং তাদের কদম ব্যবহার করার জন্য প্রক্রিয়াগুলি বিনামূল্যে। এটিই -/+ buffers/cache:সারি বলতে বোঝায় free -m। তবে, আপনি হাইপার-ভিসার ভার্চুয়ালাইজেশন ধারকটির ভিতরে রয়েছেন যা জিনিসগুলিকে কিছুটা কাঠবিড়াল করে তোলে। আপনি এই মুহুর্তে বাইট যথার্থতার সাথে আপনার মেমরির স্ট্যাক নিতে পারবেন না। তবে, আপনি এমন কোনও আচরণ দেখছেন না যা মারাত্মক অস্বাভাবিক।

শান্ত থাকুন এবং চালিয়ে যান। এছাড়াও, একটি শারীরিক সার্ভার পান (যদি না আপনি মেমরির পরিসংখ্যানগুলি পছন্দ করেন যা ক্রেস্কিনের মতো দেখতে আপনার সিসএডমিন)।


ব্যবহৃত পরিমাণটি ((ব্যবহৃত-বাফারস) -যুক্ত) হয় না?
ম্যাক

1

শীর্ষস্থানীয় মেমরির ব্যবহার পরীক্ষা করার সেরা উপায় নয়। তবে, যেহেতু আমার প্রশ্নটিকে এই প্রশ্নের সদৃশ হিসাবে চিহ্নিত করা হয়েছে, তাই আমি আমার রেজোলিউশনটি এখানে পোস্ট করতে চলেছি।

আমি একটি ফোরামে পড়েছি যে ps_mem.py আপনার জন্য মেমরির ব্যবহার পরীক্ষা করবে।

সংগ্রহস্থল: https://github.com/pixelb/ps_mem/

ডাউনলোড করুন:

pip install ps_mem

ব্যবহার:

ps_mem

আউটপুট:

# ps_mem
 Private  +   Shared  =  RAM used   Program

  4.0 KiB +  15.5 KiB =  19.5 KiB   udevd
  4.0 KiB +  16.0 KiB =  20.0 KiB   mysqld_safe
  4.0 KiB +  25.5 KiB =  29.5 KiB   dbus-daemon
  4.0 KiB +  27.5 KiB =  31.5 KiB   xinetd
 60.0 KiB +  14.5 KiB =  74.5 KiB   epmd
108.0 KiB +  23.0 KiB = 131.0 KiB   init
  8.0 KiB + 135.0 KiB = 143.0 KiB   saslauthd (2)
180.0 KiB +  34.0 KiB = 214.0 KiB   check_scripts.s
796.0 KiB +  41.0 KiB = 837.0 KiB   bash
528.0 KiB + 359.0 KiB = 887.0 KiB   crond (7)
  1.2 MiB + 218.0 KiB =   1.4 MiB   sshd (2)
  1.6 MiB +  45.0 KiB =   1.6 MiB   rsyslogd
  2.0 MiB + 133.0 KiB =   2.1 MiB   beam.smp
  1.3 MiB +   2.3 MiB =   3.6 MiB   httpd (8)
 12.8 MiB + 956.0 KiB =  13.8 MiB   sendmail.sendmail (7)
 53.5 MiB + 114.0 KiB =  53.7 MiB   mysqld
317.6 MiB +   2.3 MiB = 320.0 MiB   python (6)
---------------------------------
                        398.5 MiB
=================================
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.