मेरे पास इतने सारे रैम डिस्क क्यों हैं?


15

मेरे पास रास्पबेरी पाई 2 पर आर्क लिनक्स चल रहा है।

स्थापित होने के ठीक बाद, मैं भाग गया lsblk, fdiskऔर dfकमांड करता हूं (दुर्भाग्य से मैंने आउटपुट को नहीं बचाया) लेकिन मेरे पास एक डिस्क थी, जो कि एसडी कार्ड और उस पर दो विभाजन हैं। फिर, मैंने सिस्टम को उन्नत pacman -Syu, स्थापित sudoऔर कॉन्फ़िगर किया ssh। अब, जब मैं fdiskइसे चलाता हूं तो मुझे पता चलता है कि मेरे पास मापदंडों के साथ मेमोरी में 16 रैम डिस्क हैं:

Disk /dev/ram15: 4 MiB, 4194304 bytes, 8192 sectors 

Units: sectors of 1 * 512 = 512 bytes 

Sector size (logical/physical): 512 bytes / 4096 bytes 

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

और सभी प्रकार की फ़ाइल प्रणालियाँ विभिन्न आरोह बिंदुओं पर आरोहित हैं (जबकि मैंने व्यक्तिगत रूप से केवल /dev/rootऔर केवल बनाया है /dev/boot):

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.8G  1.1G  557M  67% /
devtmpfs        458M     0  458M   0% /dev
tmpfs           462M     0  462M   0% /dev/shm
tmpfs           462M  328K  462M   1% /run
tmpfs           462M     0  462M   0% /sys/fs/cgroup
tmpfs           462M     0  462M   0% /tmp
/dev/mmcblk0p1  100M   18M   83M  18% /boot
tmpfs            93M     0   93M   0% /run/user/1000

तो मेरा सवाल है: ये सभी रैम डिस्क क्या हैं और वे मेरे सिस्टम में क्यों हैं, क्योंकि मैंने निश्चित रूप से उन्हें नहीं बनाया है और वे फाइल सिस्टम क्या हैं?

संपादित करें :

cat /proc/partitions उत्पादन:

major minor  #blocks  name

   1        0       4096 ram0
   1        1       4096 ram1
   1        2       4096 ram2
   1        3       4096 ram3
   1        4       4096 ram4
   1        5       4096 ram5
   1        6       4096 ram6
   1        7       4096 ram7
   1        8       4096 ram8
   1        9       4096 ram9
   1       10       4096 ram10
   1       11       4096 ram11
   1       12       4096 ram12
   1       13       4096 ram13
   1       14       4096 ram14
   1       15       4096 ram15
 179        0   31472640 mmcblk0
 179        1     102400 mmcblk0p1
 179        2    1853439 mmcblk0p2

1
मुझे यह संबंधित प्रश्न मिला । उस प्रश्न का कोई महान उत्तर नहीं है, लेकिन एक टिप्पणी से पता चलता है कि /proc/partitionsप्रासंगिकता हो सकती है। आपको cat /proc/partitionsअपने प्रश्न का आउटपुट शामिल करना चाहिए ।
कास्परड

जरूरी नहीं कि आपको रास्पबेरी पाई विशिष्ट साइट पर सामान्य लिनक्स प्रश्नों पर कोई उत्तर मिलेगा। एक त्वरित Google उत्तर पाता है।
जौन

1
@ ओज़ान ओह, मैंने व्यापक रूप से गोलगप्पे किए, लेकिन मुझे स्पष्ट और संक्षिप्त जवाब नहीं मिला, बस बिट्स और टुकड़े।
रसिया

1. उन रैम डिस्क को कर्नेल को संकलित करने से पहले सक्षम करना होगा। 2. वे वास्तव में उन पर FS बढ़ते से पहले किसी भी RAM का उपयोग नहीं करना चाहिए।
फ्लेक्सशेक

इन RAM डिस्क को आवंटित करने का कारण तब रहस्य बना हुआ है ... ऐसा लगता है कि इसका कारण होगा: 1) एसडी कार्ड पर लिखता है, और / या 2) डिस्क i / o विलंब को कम करके प्रदर्शन में सुधार करता है। लेकिन कोई भी (विश्वसनीय) इस तरह के एक बयान के साथ रिकॉर्ड पर नहीं गया है।
सीमस

जवाबों:


4

सबसे पहले, रैम डिस्क tmpfs के समान नहीं हैं

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

एक यांत्रिक हार्ड-ड्राइव पर जहां पढ़ने / लिखने के चक्रों की संख्या मायने नहीं रखती है, यह पूरी तरह से ठीक है। हालांकि, रास्पबेरी पाई पर, जहां मुख्य स्टोरेज बैकएंड एक एसडी कार्ड है जहां सीमित संख्या में पढ़ने / लिखने के चक्र हैं, जिनके पास I / O चल रहा है, जो समय से पहले कार्ड को पहन सकते हैं।

चूंकि हमें रिबूट पर उन अस्थायी निर्देशिकाओं में फ़ाइलों को जारी रखने की आवश्यकता नहीं है, इसलिए रैम में उच्च-ट्रैफ़िक अस्थायी फ़ाइलों को संग्रहीत करके भंडारण डिवाइस पर पहनने और आंसू को कम करने के लिए कई डिस्ट्रोस प्रयास करते हैं। Tmpfs का उपयोग इसके फाइल सिस्टम के बाद से किया जाता है जो RAM को स्टोरेज बैकेंड के रूप में उपयोग करता है। यही कारण है कि आप कई निर्देशिकाओं को tmpfs के रूप में देखते हैं।

रैम डिस्क इसके लिए पूरी तरह से असंबंधित हैं। वे ब्लॉक डिवाइस हैं जो रैम द्वारा समर्थित हैं जबकि tmpfs रैम द्वारा समर्थित एक फाइल सिस्टम है । RAM डिस्क /dev/sdaआदि के समान कच्चे ब्लॉक उपकरण हैं ... आप रैम डिस्क के शीर्ष पर एक फाइलसिस्टम बना सकते हैं mkfs /dev/ramजैसे कि आप सामान्य हार्ड ड्राइव ब्लॉक डिवाइस पर चलाएंगे।

मेरा मानना ​​है कि उपयोग करने के लिए उपलब्ध रैम डिस्क की संख्या को कर्नेल कॉन्फिगर विकल्प द्वारा नियंत्रित किया जाता है । निश्चिंत रहें कि वे वास्तव में तब तक जगह नहीं लेते हैं जब तक आप उनका उपयोग / लेखन नहीं करते हैं।


7

यह कुछ भी असामान्य नहीं है।

राम डिस्क आमतौर पर अस्थायी फ़ाइल सिस्टम के लिए उपयोग किया जाता है।

मेरा डेबियन लैपटॉप

Filesystem      Size  Used Avail Use% Mounted on
udev            1.5G     0  1.5G   0% /dev
tmpfs           301M   32M  269M  11% /run
/dev/sda2        47G   31G   14G  71% /
tmpfs           1.5G  1.7M  1.5G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup
tmpfs           1.5G   69M  1.5G   5% /tmp
/dev/sda4       386G  344G   23G  94% /home
tmpfs           301M   12K  301M   1% /run/user/114
tmpfs           301M   76K  301M   1% /run/user/1000

माई रस्पियन पि जीरो

Filesystem                     Size  Used Avail Use% Mounted on
/dev/root                      7.2G  3.8G  3.1G  56% /
devtmpfs                       214M     0  214M   0% /dev
tmpfs                          218M     0  218M   0% /dev/shm
tmpfs                          218M   17M  202M   8% /run
tmpfs                          5.0M  4.0K  5.0M   1% /run/lock
tmpfs                          218M     0  218M   0% /sys/fs/cgroup
/dev/mmcblk0p1                  56M   20M   37M  36% /boot
tmpfs                          100M  4.0K  100M   1% /ram
tmpfs                           44M     0   44M   0% /run/user/109
mercury.lan:/home/common/code  386G  344G   23G  94% /code
tmpfs                           44M     0   44M   0% /run/user/1000

3
आप सवाल का जवाब नहीं दे रहे हैं। सवाल यह है कि /dev/ram15(और संभवतः 0-14 भी) fdisk से आउटपुट में क्यों दिखाया गया है। आपका उत्तर केवल उल्लेख tmpfsकर रहा है जो पूरी तरह से असंबंधित है /dev/ram*
कास्परड

1
मुझे आपके बयानों पर संदेह नहीं है लेकिन मुझे वास्तव में दिलचस्पी है कि मेरे सिस्टम में ये बदलाव क्यों हुए। जबकि मैं सिर्फ लिनक्स का अध्ययन कर रहा हूं और मैंने विशेष रूप से आर्क को "कट्टर" के रूप में चुना है, इसलिए बोलने के लिए जहां आपको ओएस को स्पष्ट रूप से बताना है कि आप इसे क्या करना चाहते हैं, और अब मुझे डिस्क और फाइल सिस्टम बनाने और उन्हें माउंट करने के लिए सिस्टम मिल गया है सभी जगह अपने दम पर - तो यहाँ कौन नियंत्रण में है?
रूसि

2

संक्षिप्त उत्तर : यह नवीनतम संस्करणों पर एक fdisk ख़ासियत है । वैकल्पिक रूप से आप भी इस्तेमाल कर सकते हैं partedऔर lsblk

से निकाले गए इस सूत्र AskUbuntu पर:

fdiskक्या प्रोग्राम को ब्लॉक डिवाइस के रूप में मानता है के चयन के बाद के संस्करणों में काफी बदलाव आया। में पैकेज है, जो fdisk (दूसरों के बीच) की, हिस्सा है संस्करण 2.21 इस निर्णय रिपोर्ट पर आधारित है डिस्क ज्यामिति में, जबकि (मई 2017 के लिए के रूप में) वर्तमान संस्करण 2.72.1 / proc / विभाजन के उत्पादन में है पार्सutil-linux

तथा:

राम-डिस्क एक लंबे समय के लिए कर्नेल में किया गया है, यह fdisk के व्यवहार बदल रहा है।

उपर्युक्त धागे पर अधिक विवरण और कई वर्कअराउंड (यदि स्क्रीन पर उन रैम डिस्क आपको परेशान करते हैं)।


"अधिक विवरण और कई समाधान" ??? कहाँ पे ???
ज़ी

@Zee, AskUbuntu पर संदर्भित धागे को देखें। वे fdisk मूल स्रोत के लिए कुछ पैच भी सूचीबद्ध करते हैं।
सिपालाजो डे एरियेरेज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.