Tại sao tôi có nhiều đĩa RAM?


15

Tôi có Arch Linux chạy trên Raspberry Pi 2 của tôi.

Ngay sau khi cài đặt, tôi chạy lsblk, fdiskdfcác lệnh (tiếc là tôi không lưu đầu ra) nhưng tôi đã có một đĩa, đó là thẻ SD và hai phân vùng trên đó. Sau đó, tôi nâng cấp hệ thống với pacman -Syu, cài đặt sudovà cấu hình ssh. Bây giờ, khi tôi chạy, fdisknó hiển thị tôi có 16 đĩa RAM trong bộ nhớ với các tham số:

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

và tất cả các loại hệ thống tệp được gắn tại các điểm gắn kết khác nhau (trong khi cá nhân tôi chỉ tạo /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

Vì vậy, câu hỏi của tôi là: Tất cả các đĩa RAM này là gì và tại sao chúng nằm trong hệ thống của tôi, vì tôi chắc chắn không tạo ra chúng và những hệ thống tệp đó được gắn kết là gì?

Chỉnh sửa :

cat /proc/partitions đầu ra:

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
Tôi tìm thấy câu hỏi liên quan này . Câu hỏi đó cũng không có câu trả lời hay, nhưng một bình luận cho thấy /proc/partitionscó thể có liên quan. Bạn nên bao gồm đầu ra cat /proc/partitionstrong câu hỏi của bạn.
kasperd

Bạn sẽ không nhất thiết tìm thấy bất kỳ câu trả lời nào trên trang web cụ thể của Raspberry Pi cho các câu hỏi chung về Linux. Google nhanh chóng tìm thấy câu trả lời.
gia

1
@joan Ồ, tôi đã làm việc rất nhiều, nhưng tôi không thể tìm thấy câu trả lời rõ ràng và súc tích, chỉ là bit và miếng.
RusI

1. Những đĩa RAM đó phải được kích hoạt trước khi biên dịch kernel. 2. Họ không thực sự nên sử dụng bất kỳ RAM nào trước khi gắn FS lên chúng.
flakeshake 30/03/2016

Lý do phân bổ các đĩa RAM này vẫn còn là một bí ẩn sau đó ... có vẻ như lý do sẽ phải là: 1) lưu ghi vào thẻ SD và / hoặc 2) cải thiện hiệu suất bằng cách giảm độ trễ i / o của đĩa. Nhưng không ai (đáng tin cậy) đã được ghi nhận với tuyên bố như vậy.
Seamus

Câu trả lời:


4

Thứ nhất, đĩa RAM không giống với tmpfs .

Có nhiều thư mục trên ổ đĩa gốc của bạn được sử dụng để lưu trữ các tệp tạm thời. Các thư mục này có xu hướng đọc và ghi rất nhiều khi các ứng dụng tạo, sửa đổi sau đó xóa các tệp trong quá trình thực thi.

Trên một ổ cứng cơ học có số chu kỳ đọc / ghi không quan trọng, điều này hoàn toàn tốt. Tuy nhiên, trên Raspberry Pi, nơi phụ trợ lưu trữ chính là Thẻ SD nơi có số lượng chu kỳ đọc / ghi hạn chế, việc có quá nhiều I / O diễn ra có thể làm hao mòn thẻ sớm.

Vì chúng ta không cần phải duy trì các tệp trong các thư mục tạm thời đó trong quá trình khởi động lại, nhiều bản phân phối cố gắng giảm hao mòn trên thiết bị lưu trữ bằng cách lưu trữ các tệp tạm thời có lưu lượng truy cập cao trong RAM. Tmpfs được sử dụng vì hệ thống tệp sử dụng RAM làm phụ trợ lưu trữ. Đây là lý do tại sao bạn thấy rất nhiều thư mục được gắn dưới dạng tmpfs.

Đĩa RAM hoàn toàn không liên quan đến điều này. Chúng là các thiết bị khối được hỗ trợ bởi RAM trong khi tmpfs là hệ thống tệp được hỗ trợ bởi RAM. Đĩa RAM là thiết bị khối thô tương tự như /dev/sdav.v ... Bạn có thể tạo một hệ thống tệp trên đầu đĩa RAM bằng cách chạy mkfs /dev/ramgiống như trên thiết bị khối ổ cứng thông thường.

Tôi tin rằng số lượng đĩa RAM có sẵn để sử dụng được kiểm soát bởi tùy chọn cấu hình kernel . Hãy yên tâm rằng chúng không thực sự chiếm dung lượng cho đến khi bạn sử dụng / viết thư cho chúng.


7

Điều đó không có gì bất thường.

Đĩa RAM thường được sử dụng cho các hệ thống tập tin tạm thời.

Máy tính xách tay Debian của tôi

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 của tôi

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
Bạn không trả lời câu hỏi. Câu hỏi là tại sao /dev/ram15(và có lẽ là 0-14 cũng vậy) hiển thị trong đầu ra từ fdisk. Câu trả lời của bạn chỉ đề cập đến tmpfsmà hoàn toàn không liên quan đến /dev/ram*.
kasperd

1
Tôi không nghi ngờ tuyên bố của bạn nhưng tôi thực sự quan tâm đến lý do tại sao những thay đổi này diễn ra trong hệ thống của tôi. Trong khi tôi chỉ học Linux và tôi đặc biệt chọn Arch là "Hardcore" để nói về việc bạn phải nói với HĐH một cách rõ ràng những gì bạn muốn nó làm, và bây giờ tôi đã có hệ thống tạo đĩa và hệ thống tệp và gắn chúng tự mình đi khắp nơi - vậy ai là người kiểm soát ở đây?
RusI

2

Câu trả lời ngắn : nó chỉ là một fdisk đặc thù trên các phiên bản mới nhất. Ngoài ra, bạn cũng có thể sử dụng partedlsblk.

Trích xuất từ chủ đề này tại AskUbfox:

Trên các phiên bản sau của fdiskviệc lựa chọn những gì chương trình coithiết bị khối thay đổi đáng kể. Trong util-linuxgói, fdisk (trong số các gói khác) là một phần của phiên bản 2.21 , quyết định này dựa trên hình dạng đĩa được báo cáo trong khi ở phiên bản hiện tại (như cho tháng 5 năm 2017) phiên bản 2.72.1, đầu ra của / Proc / phân vùng được phân tích cú pháp

Và:

Các đĩa ram đã ở trong kernel từ lâu, đó là hành vi của fdisk đã thay đổi.

Thêm chi tiết và một số cách giải quyết (nếu các đĩa ram trên màn hình làm phiền bạn) trên chuỗi đã đề cập ở trên.


"Thêm chi tiết và một số cách giải quyết" ??? Ở đâu ???
ZEE

@Zee, hãy xem chủ đề được giới thiệu trên AskUbfox. Họ thậm chí liệt kê một số bản vá cho nguồn gốc fdisk.
Sopalajo de Arrierez
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.