เหตุใดฉันจึงมีดิสก์ RAM จำนวนมาก


15

ฉันมี Arch Linux ที่ทำงานบน Raspberry Pi 2 ของฉัน

หลังจากติดตั้งฉันวิ่งlsblk, fdiskและdfคำสั่ง (โชคร้ายที่ฉันไม่ได้บันทึกเอาท์พุท) แต่ฉันมีหนึ่งดิสก์ซึ่งเป็นการ์ด SD และสองพาร์ทิชันที่มัน แล้วฉันจะอัพเกรดระบบที่มีpacman -Syuติดตั้งและกำหนดค่าsudo sshตอนนี้เมื่อฉันรันfdiskมันแสดงว่าฉันมี 16 RAM disk ในหน่วยความจำพร้อมพารามิเตอร์:

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

ดังนั้นคำถามของฉันคืออะไรดิสก์ RAM เหล่านี้ทั้งหมดและทำไมพวกเขาอยู่ในระบบของฉันเนื่องจากฉันไม่ได้สร้างพวกเขาแน่นอนและสิ่งที่ติดตั้งระบบไฟล์เหล่านั้น?

แก้ไข :

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ในคำถามของคุณ
kasperd

คุณไม่จำเป็นต้องหาคำตอบใด ๆ ในเว็บไซต์เฉพาะของ Raspberry Pi สำหรับคำถามทั่วไป Google ที่รวดเร็วค้นหาคำตอบ
joan

1
@ โจนโอ้ฉันทำ googling อย่างกว้างขวาง แต่ฉันไม่สามารถหาคำตอบที่ชัดเจนและรัดกุมเพียงบิตและชิ้น
RusI

1. ดิสก์ RAM เหล่านั้นจะต้องเปิดใช้งานก่อนที่จะรวบรวมเคอร์เนล 2. พวกเขาไม่ควรใช้ RAM ใด ๆ ก่อนทำการติดตั้ง FS บนพวกเขา
flakeshake

เหตุผลในการจัดสรรดิสก์ RAM เหล่านี้ยังคงเป็นปริศนา ... ดูเหมือนว่าเหตุผลจะต้องเป็น: 1) บันทึกการเขียนไปยังการ์ด SD และ / หรือ 2) ปรับปรุงประสิทธิภาพโดยการลดดิสก์ i / o latency แต่ ไม่มีใคร (น่าเชื่อถือ) ได้ลงบันทึกด้วยคำสั่งดังกล่าว
เชมัส

คำตอบ:


4

ประการแรกRAM ดิสก์ไม่ได้ในสิ่งเดียวกับ tmpfs

มีหลายไดเรกทอรีในไดรฟ์รากของคุณที่ใช้ในการจัดเก็บไฟล์ชั่วคราว โฟลเดอร์เหล่านี้มักจะมีการอ่านและการเขียนจำนวนมากที่เกิดขึ้นในขณะที่แอปพลิเคชันสร้างแก้ไขและลบไฟล์ในระหว่างการดำเนินการ

บนฮาร์ดไดรฟ์แบบกลไกที่จำนวนรอบการอ่าน / เขียนไม่สำคัญนี่เป็นเรื่องที่สมบูรณ์แบบที่สุด อย่างไรก็ตามใน Raspberry Pi ที่แบ็กเอนด์ที่เก็บข้อมูลหลักเป็นการ์ด SD ที่มีจำนวนรอบการอ่าน / เขียน จำกัด การที่ I / O จำนวนมากเกิดขึ้นสามารถทำให้การ์ดหลุดก่อนกำหนดได้

เนื่องจากเราไม่จำเป็นต้องเก็บไฟล์ไว้ในไดเร็กตอรี่ชั่วคราวเหล่านั้นเมื่อทำการรีบูท, distros จำนวนมากพยายามที่จะลดการสึกหรอของอุปกรณ์เก็บข้อมูลโดยการจัดเก็บไฟล์ชั่วคราวที่มีปริมาณการใช้งานสูงใน RAM Tmpfs ใช้ตั้งแต่ระบบไฟล์ที่ใช้ RAM เป็นแบ็กเอนด์หน่วยเก็บข้อมูล นี่คือเหตุผลที่คุณเห็นไดเรกทอรีจำนวนมากติดตั้งเป็น tmpfs

ดิสก์ RAM ไม่เกี่ยวข้องกับสิ่งนี้อย่างสมบูรณ์ พวกเขาเป็นอุปกรณ์บล็อกที่ได้รับการสนับสนุนโดย RAM ในขณะที่ tmpfs เป็นระบบไฟล์ที่ได้รับการสนับสนุนโดย RAM ดิสก์ RAM เป็นอุปกรณ์บล็อกดิบคล้ายกับ/dev/sdaฯลฯ ... คุณสามารถสร้างระบบไฟล์ที่อยู่ด้านบนของดิสก์ RAM ได้ด้วยการทำงานmkfs /dev/ramเช่นเดียวกับที่คุณทำบนอุปกรณ์บล็อกฮาร์ดไดรฟ์ปกติ

ผมเชื่อว่าจำนวนของดิสก์ RAM ที่มีอยู่กับการใช้งานจะถูกควบคุมโดยตัวเลือกการกำหนดค่าเคอร์เนล มั่นใจได้ว่าพวกเขาจะไม่ใช้พื้นที่จริงจนกว่าคุณจะใช้ / เขียนถึงพวกเขา


7

นั่นคือไม่มีอะไรผิดปกติ

แผ่นดิสก์ RAM มักใช้สำหรับระบบไฟล์ชั่วคราว

แล็ปท็อป Debian ของฉัน

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

Raspbian Pi Zero ของฉัน

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*
kasperd

1
ฉันไม่สงสัยคำสั่งของคุณ แต่ฉันสนใจจริงๆว่าทำไมการเปลี่ยนแปลงเหล่านี้จึงเกิดขึ้นในระบบของฉัน ในขณะที่ฉันเพิ่งศึกษา Linux และฉันเลือก Arch เป็น "hardcore" โดยเฉพาะเพื่อพูดในที่ที่คุณต้องบอกระบบปฏิบัติการอย่างชัดเจนว่าคุณต้องการทำอะไรและตอนนี้ฉันมีระบบที่สร้างดิสก์และระบบไฟล์ ทั่วทุกแห่งด้วยตัวของมันเอง - ดังนั้นใครเป็นผู้ควบคุมที่นี่?
RusI

2

คำตอบสั้น ๆ : มันเป็นเรื่องfdisk แปลกสำหรับรุ่นล่าสุด หรือคุณยังสามารถใช้และ partedlsblk

แยกจากกระทู้นี้ที่ AskUbuntu:

ในรุ่นที่ใหม่กว่าของfdiskการเลือกสิ่งที่โปรแกรม ถือว่าเป็นอุปกรณ์บล็อกการเปลี่ยนแปลงอย่างมีนัยสำคัญ ในutil-linuxแพคเกจซึ่ง fdisk (ในหมู่อื่น ๆ ) เป็นส่วนหนึ่งของเวอร์ชัน 2.21การตัดสินใจนี้จะขึ้นอยู่กับรูปทรงเรขาคณิตของดิสก์ที่รายงานในขณะที่ (ในเดือนพฤษภาคม 2017) เวอร์ชั่นปัจจุบัน 2.72.1 ผลลัพธ์ของ / proc / พาร์ทิชันจะแยกวิเคราะห์

และ:

แกะดิสก์ได้รับใน kernel เป็นเวลานานมันเป็นพฤติกรรมของ fdisk ที่มีการเปลี่ยนแปลง

รายละเอียดเพิ่มเติมและวิธีแก้ปัญหาต่าง ๆ(หาก RAM เหล่านั้นบนหน้าจอทำให้คุณรำคาญ) ในหัวข้อที่กล่าวถึงข้างต้น


"รายละเอียดเพิ่มเติมและวิธีแก้ปัญหาต่าง ๆ " ??? ที่ไหน ???
ZEE

@ Zee ดูที่หัวข้ออ้างอิงใน AskUbuntu พวกเขายังแสดงรายการซอฟต์แวร์แก้ไขสำหรับแหล่งต้นฉบับ fdisk
Sopalajo de Arrierez
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.