هل هناك أي طريقة لتحديد الفرد وظائف استهلاك الذاكرة على iSeries?

StackOverflow https://stackoverflow.com/questions/446893

سؤال

لدينا خليط من .صافي تطبيقات الاتصال عبر ODBC و DB2 الاتصال iSeries LPAR في V5R4.لدينا أيضا بعض وظائف دفعة تشغيل أصلا على الجهاز (COBOL, ار بي جي, و CL مباشرة في الغالب).خلال فترات معينة من اليوم ، لدينا خبرة عالية صفحة المسبب و هي تحاول تحديد التطبيقات التي قد تكون السبب في حدوث المشكلة.

دون شراء أي من العشرات من الأدوات باهظة الثمن في السوق (أيiDoctor), هل هناك أي طريقة لمعرفة كمية الذاكرة المستهلكة من قبل كل عمل.معظم الوظائف يتم تشغيل تجمع 2 ونحن لا نرى تحسن الأداء عندما نضيف الذاكرة التي تجمع ببساطة يبحث في wrksyssts لا يساعد كثيرا.نود أن عزل المشكلة الوظائف ومعرفة ما إذا كان بعض التعديلات التي يمكن إجراؤها لتحسين الأداء والحد من غير الضروري استخدام الذاكرة.

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

المحلول

إذا كنت لا تمانع في جافا أو jvm أو القيام الترميز قليلا ...

الحصول على ما يلي (كل ما هو متاح لنظام التشغيل Windows, Linux, AIX, سولاريس, الخ ...ماك؟):

نضع في اعتبارنا أن JTOpen هو مجرد سهل القديمة مكتبة جافا بحيث يمكنك استخدام أي jvm اللغة التي يمكن الوصول العادية المكتبات جافا.أنا باستخدام رائع لأني وجود شيء من أجل ذلك.لا تقلق, رائع جميل.

هنا يذهب.

 import com.ibm.as400.access.*

 // how many seconds to run  
 secs = 20 

 sys = new AS400("theserver", "paulg", "dotnet4evah")   
 job = new Job(sys, "jobname", "jobusername", "jobnumber")

 job.load()
 println "Stats for ${job.toString()}"  
 // this might look horrible
 println "total CPU time\tpage faults/sec\tdisk IO ops/sec"
 while (secs--) {
   job.loadStatistics()
   print "${job.getCPUUsed()/1000}\t\t" 
   print "${job.getValue(Job.ELAPSED_PAGE_FAULTS)}\t\t"
   println "${job.getValue(Job.ELAPSED_DISK_IO)}"
   job.resetStatistics()
   Thread.sleep(1000)
 }

 sys.disconnectAllServices()

هذا هو.هناك العديد من الوظائف الأخرى القيم اللعب مع.لم تهتم هذه الوظيفة الإحصاءات لذلك أنا لا أعرف إذا كان إعادة تعيين إحصاءات هو الشيء الصحيح.

هو الألم في الواقع معرفة عدد الوظائف وغيرها من التفاصيل عن الوظيفة من أجل إنشاء كائن الوظيفة.هذا هو السبب جوبليست هو لطيف جدا.يمكنك أيضا تشغيل الأوامر CL من السيناريو الخاص بك إذا كان ذلك مفيدا.

أعتقد IBM يستخدم هذه المكتبة إلى بناء العمليات الملاح لذلك ربما كنت قد تم استخدام هذا بالفعل.

نصائح أخرى

ويبدو أن هذا يساعد قليلا:

و- في الأجهزة الخادمة iSeries المستكشف، توسيع بلدي اتصالات> اتصال> إدارة العمل> حمامات الذاكرة> حمامات النشطة أو حمامات مشتركة. - انقر بزر الماوس الأيمن تجمع الذاكرة التي تريد استخدامها وانقر على وظائف. - تخصيص بغية تضمين العمود الصفحة أخطاء

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top