750 एमबी रैम के साथ 64-बिट लिनक्स चलाना: इसके लायक है?


13

मेरे पास एक डेबियन सर्वर VPS है, और प्रदाता ने 64-बिट डेबियन 5 स्थापित किया है। क्या मुझे 32-बिट इंस्टॉल के लिए पूछना चाहिए, यह देखते हुए कि मेरे पास केवल 750 एमबी रैम है और मैंने सुना है कि चर 64-बिट सिस्टम पर अधिक रैम लेते हैं?


2
निर्भर करता है कि आप वास्तव में क्या चलाने जा रहे हैं। अपने कुछ लोड की कोशिश करें और जांचें कि क्या आपकी रैम पर्याप्त होगी।
रेनन

बीमार रन: Postgres, Apache और Tomcat।
झोन्नीट्यून

1
नोट: क्या आपको बाद में अधिक रैम में अपग्रेड करने का निर्णय लेना चाहिए, 32-बिट समस्याग्रस्त हो सकता है (4 जीबी सीमा से अधिक पोल-वॉल्टिंग के लिए पीएई है, लेकिन इसके कुछ ओवरहेड हैं)।
पिस्कोर ने

दोनों VPS होस्ट मैंने अपने हाइपरवेयर्स के लिए कस्टम कर्नेल का उपयोग किया है इसलिए संभावना है कि आपको ओएस के अपने संस्करणों से चिपके रहना होगा - अगर वे 32-बिट की पेशकश नहीं करते हैं तो मुझे संदेह है कि आप बस अपना खुद का इंस्टॉल कर सकते हैं।
Rup

जवाबों:


16

संक्षिप्त उत्तर :

चर 64-बिट बनाम 32-बिट सॉफ़्टवेयर में स्थान को दोगुना नहीं करते हैं। 32-बिट ओएस पर स्विच करने से संभावित मेमोरी का लाभ प्रयास के लायक नहीं होगा।

लंबे उत्तर :

संख्याएँ बड़ी हो सकती हैं, लेकिन इसका मतलब यह नहीं है कि वे होंगी। इसके अलावा यह संख्याओं पर लागू होता है, तार नहीं है और तार (आम तौर पर) एक आवेदन में सबसे अधिक मात्रा में मेमोरी का उपभोग करते हैं।

इसके अतिरिक्त, कई एप्लिकेशन स्पष्ट रूप से उस संख्या के आकार को निर्दिष्ट करते हैं जिसके साथ वे काम करना चाहते हैं, जैसे कि सी जैसी भाषाओं में int, 32-बिट से छोटा सहित कोई भी आकार हो सकता है। और आगे जाकर, मेरे 64-बिट लिनक्स मशीन पर, सी intमें 32-बिट है। इसलिए आपको long long64-बिट नंबर प्राप्त करने के लिए स्पष्ट रूप से अनुरोध करना होगा ।

इसलिए मूल रूप से, एप्लिकेशन अधिक मेमोरी का उपयोग नहीं कर रहे हैं क्योंकि वे 64-बिट के लिए संकलित किए गए थे।

EDIT :
गाइल्स के इस दावे के जवाब में कि 64-बिट फ़ायरफ़ॉक्स दो बार अधिक मेमोरी का उपयोग करता है, मैंने अपने सिस्टम पर 32-बिट और 64-बिट फ़ायरफ़ॉक्स के बीच तुलना की।
मैंने http://acid3.acidtests.org/ पर 5 टैब खोलकर परीक्षण किया और 3 बार (32-बिट में एक बार, 64-बिट में एक बार और फिर दो बार दोहराकर) परीक्षण किया। मैंने इस साइट को चुना क्योंकि यह जावास्क्रिप्ट गहन है, और स्थैतिक सामग्री का उपयोग करता है (पृष्ठ का प्रत्येक प्रतिपादन समान डेटा प्रदान करेगा)।

अंतिम रन पर:

  • 32-बिट: 173,244kb rss / 918,348kb पुण्य

  • 64-बिट: 184,588kb rss / 966,624kb पुण्य

मैं और अधिक व्यापक परीक्षण कर सकता था, लेकिन मुझे लगता है कि यह अच्छी तरह से प्रदर्शित करता है कि दोनों के बीच का अंतर मामूली है।


1
यह स्थूल रूप से अतिरंजित है। कुछ प्रोग्राम 64-बिट मोड में लगभग दोगुनी मेमोरी लेते हैं, यह निर्भर करता है कि वे किस तरह के डेटा में हेरफेर करते हैं। मैंने देखा है कि फ़ायरफ़ॉक्स और क्रोम दो बार से अधिक मेमोरी लेते हैं (मैंने कभी इसकी जांच क्यों नहीं की: कोड आकार?)। अपाचे के लिए, अतिरिक्त मेमोरी की खपत छोटी होने की संभावना है (लेकिन मैंने मापा नहीं है)।
गिल्स एसओ- बुराई को रोकना

@ मुश्किल से मिलता है। मैंने अभी 32-बिट और 64-बिट फ़ायरफ़ॉक्स लॉन्च किया है। लॉन्च के बाद 32-बिट 133,340kb का उपयोग करता है। लॉन्च के बाद 64-बिट 133,412kb का उपयोग करता है।
पैट्रिक

हो सकता है कि यह हाल ही में सुधरा हो, मुझे लगता है कि मैंने आखिरी बार फ़ायरफ़ॉक्स 4 के साथ जाँच की थी। मैंने एक अन्यथा बेकार प्रणाली लेने से मापा था (लगभग केवल 64-बिट प्रोग्राम चला रहा था, जो 64-बिट निष्पादन योग्य का पक्ष लेना चाहिए क्योंकि इसके कुछ साझा पुस्तकालय पहले से ही लोड थे) और कुछ टैब लोड करने के बाद मुक्त मेमोरी की मात्रा की तुलना (कुछ JS, कोई फ़्लैश): मैंने पाया कि (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free -memory_with_ff_32 - free_memory_without_ff)।
गिलेस एसओ- बुराई को रोकना

4
@ मुझे लगता है कि परीक्षण में कुछ खामी थी। यहां तक ​​कि अगर फ़ायरफ़ॉक्स एक पूर्णांक (कोई तार, जो आकार नहीं बदलेगा) के रूप में हर आखिरी थोड़ा सा डेटा संग्रहीत करता है, और हर एक पूर्णांक 32-बिट से 64-बिट में बदल जाता है, आकार सबसे अधिक डबल होगा। दोहरे से अधिक के लिए इसका कोई स्पष्टीकरण नहीं है।
पैट्रिक

2
"संख्या बड़ी हो सकती है हाँ, लेकिन इसका मतलब यह नहीं है कि वे होंगे।" - लेकिन सभी संकेत अब निश्चित रूप से 64-बिट हो जाएगा, जहां वे होना करने के लिए 32. इस्तेमाल किया
Rup

5

मैं 4g से कम रैम वाले सिस्टम के लिए 64-बिट से अधिक 32-बिट इंस्टॉल्स का चयन करता हूं।

64-बिट डीओईएस अधिक मेमोरी का उपयोग करता है, इसके संकेत की प्रकृति के कारण, यह लगभग 10 से 50 मेगाबाइट के बीच एक वेनिला एलएएमपी इंस्टाल के लिए अतिरिक्त है।

सीमित राम के साथ एक प्रणाली पर, उदाहरण के लिए 256meg, यह एक बड़ा हिस्सा हो सकता है।

तकनीकी रूप से, PAE के साथ 64gig तक ही लागू होता है, हालांकि अनुप्रयोगों के लिए पता योग्य स्थान अभी भी किसी भी मामले में 4gig तक सीमित है। इसलिए 4 जीआईजी से अधिक के साथ, 64-बिट को प्रदर्शन लाभ का उपयोग करने की सिफारिश की जाती है, न कि कम से कम पीएई के ओवरहेड से जुड़े।

संक्षेप में: <4gig = 32bit | > 4gig = 64bit।


3

यदि प्रदाता ने 64-बिट डेबियन 5 स्थापित किया है, तो मैं आपको इस संस्करण के साथ बने रहने की सलाह देता हूं।

64 बिट और 32 बिट के बीच का अंतर केवल मेमोरी मैनेजर में नहीं है।


2

तेजी से चलने वाले कुछ नंबर-क्रंचिंग एप्लिकेशन को छोड़कर, 64-बिट सिस्टम का एकमात्र लाभ यह है कि आप 4GB से अधिक मेमोरी को संबोधित कर सकते हैं। चूँकि कुछ पता स्थान कर्नेल के लिए आरक्षित है, एक प्रक्रिया केवल 2GB या 3GB पता स्थान (या अधिक या कम, कर्नेल कॉन्फ़िगरेशन के आधार पर) पर मिलती है। एक डेटाबेस और वेब सर्वर के उपयोग के मामले में, आप बहुत स्वैपिंग की योजना नहीं बना रहे हैं, और आप बहुत अधिक संख्या में क्रंच करने नहीं जा रहे हैं। तो, केवल 750MB RAM के साथ, आपको 64-बिट सिस्टम का उपयोग करने का कोई लाभ नहीं दिखेगा।

कोड का आकार i386 (32-बिट) और amd64 (64-बिट) कोड के बीच समान है। 64-बिट प्रोग्राम द्वारा उपयोग की जाने वाली डेटा मेमोरी कुछ बड़ी है; कितना बड़ा आवेदन पर निर्भर करता है। मुझे आपके उपयोग के मामले में ध्यान देने योग्य नहीं बल्कि बड़े अंतर को देखने की उम्मीद होगी।

यह देखते हुए कि 64 बिट्स का उपयोग करने के लिए थोड़ी लागत और कोई लाभ नहीं है, मेरा सुझाव है कि आप 32-बिट सिस्टम का उपयोग करें, अगर यह प्राप्त करने के लिए बहुत अधिक परेशानी नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.