आर्क लिनक्स सोचता है कि मेरे पास लगभग 16 गीगा है RAM जब मेरे पास केवल 8 है


10

मैंने कई खोज की हैं और मुझे Google पर कुछ भी नहीं मिल रहा है, लेकिन मेहराब में 7.7 गिग्स को रैम और 7.9 को स्वैप करने के लिए आवंटित किया गया है।

  • मेरे पास केवल 8 गिग्स राम हैं।

  • इसने नियमित रूप से स्वैप करने के लिए अधिक राम आवंटित किया

मैं आवंटन कैसे बदल सकता हूं?

का आउटपुट cat /proc/meminfo: MemTotal: 8091960 kB MemFree: 4925736 kB MemAvailable: 6131188 kB Buffers: 268936 kB Cached: 1219460 kB SwapCached: 0 kB Active: 1527516 kB Inactive: 1301140 kB Active(anon): 768904 kB Inactive(anon): 711440 kB Active(file): 758612 kB Inactive(file): 589700 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 8300540 kB SwapFree: 8300540 kB Dirty: 1960 kB Writeback: 0 kB AnonPages: 1306968 kB Mapped: 382800 kB Shmem: 140100 kB Slab: 197964 kB SReclaimable: 163104 kB SUnreclaim: 34860 kB KernelStack: 6864 kB PageTables: 29200 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12346520 kB Committed_AS: 3927808 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 186368 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 584316 kB DirectMap2M: 7716864 kB DirectMap1G: 0 kB


21
स्वैप है, परिभाषा के अनुसार, रैम का उपयोग नहीं कर रहा है।
user4556274

1
वही (या थोड़ा अधिक) स्वैप करें तो आपको रैम मिल गई है यह एक अच्छी शुरुआत है ... यह भी याद रखें कि यदि आपने हाइबरनेट किया (रैम को डिस्क में रखें) तो स्वैप-स्पेस का उपयोग किया जा सकता है। पुराने दिनों में, किसी ने रैम के रूप में दो बार ज्यादा स्वैप कहा - लेकिन लिनक्स के लिए, "नियम" केवल तभी लागू होता है जब आपके पास 512 एमबी या उससे कम (या यह 256 एमबी था)। लेकिन वहाँ यूनिक्स सिस्टम (कम से कम एक) जहां डिजाइन ऐसी है कि आप हमेशा था पड़ा कम से कम स्वैप की दो बार होता है। प्रारंभिक लिनक्स में प्रति विभाजन कितना स्वैप, स्वैप-विभाजन की संख्या और / या कुल स्वैप की सीमा थी। TBC
बार्ड कोपरपुड

2
जारी ... वास्तव में यह तय करने के लिए कि आपको कितनी स्वैप की आवश्यकता है, आपको वास्तव में सावधानीपूर्वक ऑडिट करना चाहिए कि आपके (और आपके उपयोगकर्ताओं) चलाने की प्रक्रिया की वास्तव में कितनी स्मृति है - लेकिन याद रखें कि स्वैप बहुत कम रैम का विकल्प नहीं है। उस ने कहा - और यह किसी ऐसे व्यक्ति से है जिसे केवल 2GB मिला है (न कि "केवल" 8GB आप की तरह) RAM - अधिकांश सिस्टम रैम में सभी प्रक्रियाओं को रखने में सक्षम होंगे । हालाँकि, उन्हें इसकी आवश्यकता नहीं है, इसलिए स्वैप का उपयोग प्रक्रियाओं के "अप्रयुक्त" मेमोरी-पृष्ठों को संग्रहीत करने के लिए किया जाता है - और कभी-कभी पूरे "अप्रयुक्त" प्रक्रियाओं - इस प्रकार रैम को मुक्त किया जाता है ... इस "अप्रयुक्त" रैम का उपयोग तब बफर और के रूप में किया जाता है कैश, चीजों को गति देने के लिए।
बार्ड कोपरपुड

2
7.7GB नंबर संभवत: ~ 300MB भौतिक RAM से आता है जिसे स्थायी रूप से कर्नेल को आवंटित किया गया है। यह RAM अभी भी मौजूद है लेकिन इसका उपयोग सामान्य कार्यक्रमों के लिए नहीं किया जा सकता है।
zwol

1
आपको लगता है कि "आर्क को लगता है कि आपके पास 16 जीबी रैम है" क्या होता है?
मार्सेल

जवाबों:


26

यह आपको क्या बता रहा है कि आपके पास 16 जीबी की वर्चुअल मेमोरी है

वर्चुअल मेमोरी फिजिकल रैम और स्वैप स्पेस का कुल योग है।

यह आपके सिस्टम को अधिक प्रोग्राम चलाने देने का एक तरीका है, क्योंकि इसके लिए भौतिक रूप से जगह है।

एक मशीन को कितना स्वैप आवंटित किया जाना चाहिए यह एक जटिल और राय वाला प्रश्न है; 2 लोगों से पूछें और 3 उत्तर पाएं :-)

आपका सेटअप खराब नहीं है, और जब तक आप वर्चुअल मेमोरी कैसे काम करते हैं और इसे कैसे ट्यून करते हैं, इसके बारे में बहुत कुछ जानने तक मैं इसमें बदलाव करने की सलाह नहीं दूंगा। यह एक अच्छा शुरुआती बिंदु है।


5
" वर्चुअल मेमोरी भौतिक रैम और स्वैप स्पेस का कुल योग है। " नहीं, यह नहीं है। उदाहरण के लिए, 4 जीबी रैम और 4 जीबी स्वैप के साथ 64-बिट मशीन पर, मैं 64 जीबी की फाइल को मैप कर सकता हूं। यह 64 जीबी की वर्चुअल मेमोरी है, भले ही रैम और स्वैप 8 जीबी तक हो।
डेविड श्वार्ट्ज

1
@DavidSchwartz सही है। यह कहना अधिक उचित है कि वर्चुअल मेमोरी वह है जिसे मेमोरी के रूप में संबोधित किया जा सकता है, अधिमानतः कुछ के साथ इसका समर्थन किया जा सकता है। वह कुछ भी हो सकता है रैम चिप्स, कुछ I / O पोर्ट, एक स्वैप विभाजन, डिस्क पर एक स्वैप फ़ाइल, या ऑपरेटिंग सिस्टम या मेमोरी मैनेजर के लिए कोई विशेष अर्थ के साथ एक नियमित फ़ाइल। इस तरह से कार्य करना भी आवश्यक नहीं है कि यदि आप कुछ लिखते हैं और फिर तुरंत इसे वापस पढ़ते हैं, तो आपने जो लिखा है उसे वापस पढ़ें। (उदाहरण के लिए कुछ I / O रजिस्टर इस तरह से काम करते हैं।)
एक CVN

1
यह "यूनिक्स 101 शुरुआती संस्करण" है। मैंने यह भी उल्लेख नहीं किया है कि कैसे निष्पादन योग्य पृष्ठों को मेमोरी मैप और केवल अन्य मजेदार चीजों जैसे रीड-ओनली पेजों के रूप में जोड़ा जा सकता है। पहले स्तर के अनुमान के रूप में, हालांकि, VM = RAM + स्वैप काफी करीब है, और क्या यह सवाल वास्तव में था।
स्टीफन हैरिस

"यह आपको क्या बता रहा है कि आपके पास 16 जीबी की वर्चुअल मेमोरी है।" - यह जानने का कोई तरीका नहीं है कि चूंकि ओपी ने कभी नहीं समझाया कि वह क्यों सोचते हैं कि आर्क कहते हैं कि उनके पास 16 जीबी है।
17

1
@StephenHarris यह पहला स्तर सन्निकटन है जो इस प्रश्न के पीछे गलतफहमी का कारण बनता है। सरलीकरण ठीक हैं, इसलिए जब तक वे या तो संकेत देते हैं कि वे सरलीकरण हैं या तथ्यात्मक रूप से सही हैं।
डेविड श्वार्ट्ज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.