2012-11-09 11 views
11

निम्नलिखित जावा संस्करण के लिए:जावा सीएमएस जीसी लॉग में 'वास्तविक', 'उपयोगकर्ता' और 'sys' का क्या अर्थ है?

OpenJDK संस्करण "1.6.0"
OpenJDK रनटाइम वातावरण (निर्माण 1.6.0-B23)
OpenJDK 64-बिट सर्वर वी एम (निर्माण 20.0-B11, मिश्रित मोड)

folllowing जीसी झंडे के साथ

:

-verbose: जीसी
-XX: + UseConcMarkSweepGC
-XX: + CMSClassUnloadingEnabled
,210 -XX: + PrintGCDetails
-XX: + PrintGCDateStamps

हम लाइनों लॉग ऑन करने के पसंद:

2012-11-09T16: 46: 53.438-0100: [सीएमएस समवर्ती चिह्न: 4.039 /4.060 सेकेंड] [टाइम्स: उपयोगकर्ता = 4.09 sys = 35.05, अचल = 4.06 सेकेंड]

प्रारंभिक "4.039/4.060 सेकेंड" https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs के अनुसार करना चाहिए मतलब है कि समवर्ती कुल 4.039 सेकंड CPU समय और 4.060 ले लिया गया चिह्नित करने के सेकंड दीवार समय (जिसमें उपज शामिल है आर धागे भी)।

लेकिन उपयोगकर्ता, sys और वास्तविक मानों का अर्थ यहां क्या है?

+2

http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

+1

पर हां एक नज़र, लेकिन वह क्लासिक यूनिक्स का अर्थ है: वास्तविक दीवार घड़ी का समय है, उपयोगकर्ता CPU समय की मात्रा है, Sys प्रक्रिया के भीतर कर्नेल में बिताए गए CPU समय की मात्रा है। मैं वास्तव में नहीं देखता कि इस परिभाषाओं को इस जीसी संदर्भ में कैसे समझ में आता है ... – fornwall

उत्तर

4
  1. sys और उपयोगकर्ता CPU समय विशेष रूप से होते हैं। नतीजतन वे उस समय को शामिल नहीं करते हैं जब प्रक्रिया सीपीयू के लिए अवरुद्ध है या I/O आदि कर रही है

  2. जीसी समय आमतौर पर sys + उपयोगकर्ता समय के समान होना चाहिए, लेकिन यदि प्रक्रिया अवरुद्ध है या प्रतीक्षा कर रही है तो अधिक होगा। यह एक सीरियल कलेक्टर और एक प्रोसेसर बॉक्स के लिए सच होगा। हालांकि, मल्टीप्रोसेसर वातावरण (समांतर संग्राहक के साथ) में, जीसी समय सीएस + उपयोगकर्ता समय से कम होगा क्योंकि कई सीपीयू हैं।

  3. वास्तविक समय जीसी समय के समान होगा।

संबंधित मुद्दे