1 जीबी रैम का उपयोग करने के बाद ही जेवीएम को वर्चुअल मेमोरी का उपयोग करें


2

Id एक मेमोरी इंटेंसिव जावा प्रोग्राम को चलाने और भौतिक मेमोरी का कितना उपयोग कर सकती है, इसे सीमित करने के लिए।

क्या 1 जीबी से अधिक रैम का उपयोग करने के लिए जेवीएम को कॉन्फ़िगर करना संभव है, और केवल 1 जीबी रैम का उपयोग करने के बाद केवल वर्चुअल मेमोरी का उपयोग करें?

मुझे लगता है कि कार्यक्रम को उतनी ही अधिक जगह मिल सकती है जितनी उसे (कई जीबी) की जरूरत है, लेकिन मशीन पर उपलब्ध रैम के सभी का उपयोग नहीं करना चाहते हैं।


1
आप एक तृतीय-पक्ष प्रोग्राम की तलाश कर सकते हैं जो द्वारा उपयोग की जाने वाली मेमोरी को सीमित करता है कोई भी आवेदन। यह JVM के लिए विशिष्ट नहीं है।
Sasha Chedygov

जवाबों:


3

मुझे उबंटू के लिए एक व्यावहारिक समाधान मिला:

सिस्टम की उपयोगिता का उपयोग करना ulimit मैं शेल से उत्पन्न किसी भी प्रक्रिया के लिए अधिकतम भौतिक मेमोरी और कई अन्य संसाधन सीमाएं निर्धारित करने में सक्षम था ulimit से बुलाया गया था।

मुझे बस इतना करना था कि एक खोल था, बुलाओ ulimit और फिर प्रक्रिया शुरू करें।


1

नहीं, मुझे ऐसे किसी समाधान की जानकारी नहीं है जो आपको ऐसा करने दे। मुझे यकीन नहीं है कि यह प्रमुख वास्तु परिवर्तनों के बिना भी संभव है; आखिरकार, ओएस आमतौर पर केस-बाय-केस के आधार पर निर्णय लेता है कि कौन सा डेटा स्वैप करना है और कौन सी रैम में रखना है। यह मेरे लिए स्पष्ट नहीं है कि ऐसा प्रतिबंध व्यावहारिक भी होगा; किसी भी दर पर इसे संभवतः ओएस में गहरे बदलाव की आवश्यकता होगी।

प्रति-प्रश्न: आपको ऐसा क्यों लगता है कि यह आवश्यक है? आधुनिक OS का वर्चुअल मेमोरी सबसिस्टम आपको बेहतरीन प्रदर्शन देने के लिए बारीक से बारीक किया गया है। क्या आपको लगता है कि आप बेहतर कर सकते हैं?

प्लस:

यदि आपको वास्तव में मेमोरी की समस्या हो रही है, तो बस अधिक रैम खरीदें। 4GB लगभग $ 100 के लिए जाते हैं, बस इसे खरीदना शायद वीएम सबसिस्टम को ठीक करने पर घंटों खर्च करने से ज्यादा प्रभावी है ...


मुझे सामान्य रूप से मेमोरी की समस्या नहीं है (मेरे पास 8 जीबी है), बस एक बार कुछ विशाल छवि डेटा पर प्रसंस्करण के साथ। समस्या उबंटू को 7GB तक के प्रोग्राम को आवंटित करना है क्योंकि इसकी आवश्यकता है। यह अच्छा नहीं है क्योंकि इस प्रक्रिया को पृष्ठभूमि में चलाने की आवश्यकता है जब मैं अन्य चीजें करता हूं, इससे कोई फर्क नहीं पड़ता कि डिस्क कितना जोर देती है या उस कार्यक्रम का प्रदर्शन कितना धीमा है। महत्वपूर्ण बात यह है कि राम को मेरी मशीन में अन्य कार्यों के लिए उपलब्ध रखना है।
instanceofTom
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.