2009-12-03 13 views
12

के लिए रामडिस्क का उपयोग अनुकूलित करें हम 4 जीबी रैम के साथ 32-बिट Vista मशीनों पर एक्लिप्स के साथ जावा/स्प्रिंगसोर्स अनुप्रयोग विकसित कर रहे हैं। आभासी पता स्थान में हार्डवेयर आदि के आरक्षण के कारण ओएस लगभग 3.3 जीबी रैम का खुलासा करता है। मैं कई रामडिस्क ड्राइवरों में आया जो ओएस-छिपी रैम से वर्चुअल डिस्क बना सकते हैं और सुझावों की तलाश में हैं कि हमारे पर्यावरण में गति को गति देने के लिए 740 एमबी आभासी डिस्क का सर्वोत्तम उपयोग कैसे करें।ग्रहण विकास

हमारे लिए विकास का सबसे धीमा हिस्सा संकलन के साथ-साथ स्प्रिंगसोर्स डीएम सर्वर लॉन्च कर रहा है।

एक विकल्प Vista को रामडिस्क में स्वैप करने के लिए कॉन्फ़िगर करना है। यह काम करता है, और कम स्मृति स्थितियों में विकास को ध्यान में रखता है। हालांकि, ओएस के लिए उपलब्ध 3.3 जीबी अक्सर पर्याप्त होता है और ऐसी कई स्थितियां होती हैं जहां हम स्वैप फ़ाइल का उपयोग नहीं करते हैं।

एक और विकल्प रामदीस्क का उपयोग अस्थायी फ़ाइलों के लिए एक स्थान के रूप में करना है। Vista mklink कमांड का उपयोग करके, मैंने एक कठिन लिंक बनाया जहां से स्प्रिंगसोर्स डीएम सर्वर का वर्क एरिया आम तौर पर रामडिस्क में रहता है। यह सर्वर स्टार्टअप समय में काफी सुधार करता है लेकिन संकलन के समय के लिए कुछ भी नहीं करता है। रामडिस्क पर लगभग 500 एमबी अभी भी मुक्त हैं जब कार्य निर्देशिका पूरी तरह से उपयोग की जाती है, इसलिए बहुत अधिक जगह है।

रामडिस्क पर अन्य फाइलें/निर्देशिकाएं कौन से उम्मीदवार हो सकती हैं? ग्रहण से संबंधित फाइलें? (के हिस्सों) जेडीके?

क्या विस्टा के लिए एक मुफ्त/मुक्त स्रोत उपकरण है जो मुझे दिखाएगा कि अनुमान लगाने के लिए समय के दौरान कौन सी फाइलों का उपयोग अक्सर किया जाता है?

+0

पुनश्च - हाँ यह सब एक 64-बिट ऑपरेटिंग सिस्टम के लिए आगे बढ़ द्वारा हल किया जा सकता है, लेकिन उस पल में एक व्यवहार्य विकल्प नहीं है। –

उत्तर

11

यहाँ मैं

Ramdisk ले जाया गया क्या किया है:

  • JDK (नष्ट कुछ अनावश्यक फ़ाइलों क़ौम जैसे, src.zip)
  • ग्रहण plugins निर्देशिका
  • SpringSource काम निर्देशिका
  • स्प्रिंगसोर्स लाइब्रेरी निर्देशिका

एक साफ चाल है जो आपको कॉन्फ़िगरेशन में एक ही बदलाव किए बिना वर्चुअल डिस्क पर फ़ोल्डर (या उस मामले के लिए फ़ाइलें) स्थानांतरित करने देती है।

  1. कॉपी Ramdisk
  2. मूल फ़ोल्डर का नाम बदलें करने के लिए फ़ोल्डर डिस्क पर जगह से एक लिंक बनाने के लिए
  3. उपयोग mklink/जम्मू आदेश (मैं अंत करने के लिए कॉपी जोड़ा) जहां

    cd C:\Dev\Apps 
    Xcopy jdk R:\jdk\ /s 
    ren jdk jdk-COPY 
    mklink /J jdk R:\jdk 
    
    01: निर्देशिका इससे पहले कि आप जहां आप इसे Ramdisk

पर कॉपी उदाहरण के लिए नाम दिया हुआ करता था

चयनित रामडिस्क के पास सिस्टम शटडाउन पर राज्य को जारी रखने का विकल्प है (माना जाता है कि कोई क्रैश नहीं है)। मैं रामदीस्क पर केवल अपेक्षाकृत स्थैतिक फाइलों को स्थानांतरित करने के लिए चुने गए, इसलिए एक बार मेरे पास एक अच्छा रिबूट हो जाने के बाद, मुझे हमेशा उस राज्य में अपना रामडिस्क ढूंढना चाहिए जिसकी मुझे आवश्यकता है।

प्री-विस्टा मशीनों पर आप mklink के लिए SysInternals से जंक्शन को प्रतिस्थापित कर सकते हैं।

+0

शायद यह http://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM के साथ भी काम कर सकता है और फिर विंडोज़ में जेरे के पथों को ट्विक कर सकता है -> प्राथमिकताएं -> जावा -> कंपाइलर – max4ever

+0

इन निर्देशों के लिए धन्यवाद। यह वास्तव में मुझे अपने ग्रहण को गति देने में मदद की। एकमात्र समस्या यह है कि जब भी मैं अपनी मशीन को पुनरारंभ करता हूं तो मैंने इन सभी चरणों को फिर से शुरू कर दिया है। क्या रीस्ट स्टार्ट या शटडाउन में लगातार रैम डिस्क बनाने का कोई तरीका है। मैं अपनी मशीन पर रामडिस्क बनाने के लिए इम्डिस्क का उपयोग कर रहा हूं। –

+0

@ हिमांशुयावाद: प्राइमो रामडिस्क एक रैमडिस्क उत्पाद है जो आपकी रैम डिस्क को हार्ड डिस्क पर बना देता है। –

5

आप अपने ग्रहण कार्यक्षेत्र को रैम डिस्क में स्थानांतरित करने का प्रयास कर सकते हैं। मुझे पूरा यकीन है कि न तो जावैक, न ही एक्लिप्स कंपाइलर किसी भी अस्थायी फ़ाइलों का उपयोग कर रहे हैं, इसलिए यह सीधे * .java फ़ाइलों से * .class फ़ाइलों तक जाता है और स्रोत स्थान से संसाधन फ़ाइलों को एक लक्षित फ़ोल्डर में कॉपी करता है।

एक और विकल्प जिसे आप विचार करना चाहते हैं वह एक ठोस राज्य ड्राइव (एसएसडी) का उपयोग करना है। आपको कई क्षेत्रों में महत्वपूर्ण प्रदर्शन सुधार देखने जा रहे हैं जो डिस्क से फ़ाइलों को भारी पढ़ रहे हैं और लिख रहे हैं।

+1

कार्यक्षेत्र को रैम डिस्क पर ले जाने के साथ मेरी चिंता एक आउटेज की स्थिति में काम की संभावित हानि है। एक एसएसडी में जाना इस समय एक विकल्प नहीं है, लेकिन कुछ हम भविष्य में देख रहे हैं (शायद उसी समय हम 64-बिट ओएस पर जाते हैं :-) –

+1

आप अपना वर्कस्पेस कोड रखते हुए काम के नुकसान से निपट सकते हैं संस्करण नियंत्रण के तहत। सबवर्सन या गिट की तरह कुछ आपको लगातार स्टोरेज में बदलावों को धक्का देने की अनुमति देगा। –

0

मुझे नहीं लगता कि जेडीके और प्लगइन्स फ़ोल्डर को रैमडिस्क में ले जाना इस मामले के लिए एक अच्छा समाधान है, क्योंकि ज्यादातर समय इन आईओ ग्रहण के लिए बाधा नहीं है। मैंने आपके समाधान के साथ प्रयास किया, और पाया कि वर्कस्पेस.मैटडाटा फ़ोल्डर को रैमडिस्क में ले जाना चाहिए, जो गति को बनाने और निष्पादित करने में मदद कर सकता है। और यदि संभव हो, तो आपको अपने सभी वर्कस्पेस फ़ोल्डर को रैमडिस्क के नीचे ले जाना चाहिए, और डेटा को सुरक्षित रखने के लिए कुछ संस्करण नियंत्रण का उपयोग करना चाहिए। सौभाग्य।

+2

चलने से बाहर निकलता है जेडीके और प्लगइन्स ने मेरे लिए एक बड़ा अंतर बनाया ... दूसरी तरफ, मैं अपने वर्कस्पेस को रैम डिस्क पर ले जाने के बारे में बहुत चिंतित हूं। एक दुर्घटना या बिजली आउटेज काफी काम दूर कर सकता है। –

3

मैं सॉफ्टफेक्ट रैम डिस्क सॉफ़्टवेयर का उपयोग कर रहा हूं। मैंने जेडीके, एक्लिप्स, मेवेन, ग्रैडल और एंट को इंस्टॉल किया। इसके अलावा मेरे कार्यक्षेत्र, मेरे विकास गिट भंडार और स्थानीय मेवेन भंडार (सभी डाउनलोड निर्भरता) रैम ड्राइव पर हैं। मैंने राम ड्राइव पर "उपयोगकर्ता होम" निर्देशिका भी बनाई और मैंने इस नए "उपयोगकर्ता घर" निर्देशिका को इंगित करने के लिए eclipse.ini को बदल दिया। प्रदर्शन नाटकीय रूप से सुधार हुआ है और ग्रहण अब 10 सेकंड के भीतर शुरू होता है। मैं अपने यहाँ दृष्टिकोण दस्तावेज:

http://www.whizu.org/articles/how-to-install-eclipse-on-a-ramdrive.whizu

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