سؤال

ما هي الطريقة الصحيحة للحصول على حجم العملية على Solaris, HP-UX و AIX?يجب أن نستخدم top أو ps -o vsz أو أي شيء آخر ؟

هل كانت مفيدة؟

المحلول

نفس التعاريف vsize, rss, rprvt, rshrd, وغيرها غامضة تبحث الاختصارات تختلف من نظام تشغيل إلى نظام التشغيل.دليل الصفحات top و ps الأوامر سوف يكون نوعا من الوصف ، ولكن كل هذه الأوصاف هي مبسطة إلى حد كبير (أو على أساس انقرضت منذ فترة طويلة نواة تطبيقات).
"حجم العملية" كمفهوم هو بوحشية من الصعب أن أحدد في الحالة العامة.الإجابات في حالات محددة تعتمد بشكل كبير على الذاكرة الفعلية إدارة التنفيذ في نظام التشغيل, و نادرا ما تكون مرضية كما مرتبة "حجم العملية" مفهوم موجود في أذهان معظم المستخدمين (و معظم المطورين).

على سبيل المثال ، فإن أيا من هذه الأرقام (ولا احتمالا ، أي مزيج منها) يمكن أن أقول لكم بالضبط كيف العديد من هذه العمليات يمكن تشغيلها في وقت واحد في كمية معينة من الذاكرة الحرة.ولكن حقا أفضل رهان هو أن يأتي في النهاية:لماذا تريد هذا ما سوف تستخدمه ؟ بالنظر إلى أن المعلومات, أعتقد أنك سوف تحصل على المزيد من إجابات مفيدة.

نصائح أخرى

على Solaris, يمكنك الحصول على معلومات مفصلة عن عملية استخدام الذاكرة مع pmap الأوامر.على وجه الخصوص ، pmap -x <pid> يظهر لك كم من عملية الذاكرة المشتركة وكم هو على وجه التحديد المستخدمة من قبل تلك العملية.هذا هو مفيدة للعمل بها "هامشية" استخدام الذاكرة لعملية -- مع هذا الأسلوب يمكنك تجنب العد المزدوج المكتبات المشتركة.

نعم, أنت على حق القفل في VSZ.

ps u سوف تعطيك VSZ و RSS, والتي هي الذاكرة الظاهرية حجم سكان تعيين الحجم.آر إس إس هو مقدار الذاكرة الفعلية وقد خصص لهذه العملية ، VSZ هو حجم الذاكرة الظاهرية العملية.إذا كان لديك عدة نسخ من برنامج تشغيل الكثير من الذاكرة في VSZ سوف تكون مشتركة بين تلك العمليات.

لقد لخص سكان تعيين حجم لكافة العمليات مثل هذا (كجذر):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top