मेरा प्रश्न शीर्षक के रूप में है, और मैं खोज से कुछ ज्ञान प्राप्त किया:JVM निर्दिष्ट -XMS से कम स्मृति का उपभोग क्यों करता है?
linux साझा किया है स्मृति How to measure actual memory usage of an application or process?
JVM XMS में What does the -Xms JVM mean in reference to heap memory?
setted स्मृति की मात्रा को आरक्षित होगा
लेकिन फिर भी पता नहीं क्यों, पर कुछ कुछ मदद की पेशकश कर सकते हैं?
यहाँ Ubuntu12.04 (64 बिट) पर अपने परीक्षण रन है | जेडीके 1.7.0_04। और शीर्ष नीचे पता चलता है:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4067 brian 20 0 5316m **262m** 7496 S 0 3.3 0:00.30 java -**Xms4096m** -Xmx4096m Test
4066 brian 20 0 3182m **256m** 7496 S 0 3.3 0:00.30 java -**Xms2048m** -Xmx2048m Test
4065 brian 20 0 2114m **252m** 7492 S 0 3.2 0:00.30 java -**Xms1024m** -Xmx1024m Test
4064 brian 20 0 1314m **76m** 7584 S 0 1.0 0:00.20 java -**Xms256m** -Xmx256m Test
4063 brian 20 0 1180m **51m** 7608 S 0 0.7 0:00.21 java -**Xms128m** -Xmx128m Test
बस के बारे में पूछने के लिए "क्यों स्वैप इस्तेमाल किया यहाँ तक कि जब मेरी स्मृति प्रचुर मात्रा में हैं।" और आपके द्वारा संलग्न यूआरएल से जवाब मिला ... धन्यवाद! –
तो आरईएस मेमोरी xms कब बढ़ेगी? मेरे पास एक प्रगति है जो xms और xmx = 6g है, और बूटस्ट्रैप के बाद, आरईएस 4 जी है, एक दिन के बाद, यह 5.9 जी है, लेकिन जब मैं ढेर को डंप करता हूं, तो यह केवल 3.9 जी है। तो क्या जेवीएम तब तक स्मृति का उपभोग करेगा जब तक कि इसकी आवश्यकता नहीं होती है, भले ही स्मृति में उपयोग की गई वस्तुओं को इतना ज़रूरी नहीं है? – Jaskey