Чому у мене стільки дисків оперативної пам’яті?


15

У мене на Linux Raspberry Pi 2 працює арка Linux.

Відразу ж після установки, я побіг lsblk, fdiskі dfкоманди (на жаль , я не рятували вихід) , але у мене був один диск, який є SD - карти і два розділи на ньому. Потім я оновив систему 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у своєму запитанні.
— kasperd

Ви не обов'язково знайдете відповіді на конкретному веб-сайті Raspberry Pi на загальні питання Linux. Швидкий пошук Google знайде відповіді.
— Жанна

1
@joan О, я зробив обширний гуглінг, але я не міг знайти чітку і стисну відповідь, лише шматочки та шматочки.
— РусьІ

1. Ці диски оперативної пам’яті повинні бути включені перед компілюванням ядра. 2. Вони насправді не повинні використовувати жодну оперативну пам’ять перед тим, як встановити на них FS.
— пластівці

Причина розподілу цих дисків оперативної пам’яті залишається загадкою, тоді ... здавалося б, що причиною повинно бути: 1) збереження запису на SD-карту та / або 2) підвищення продуктивності за рахунок зменшення затримки вводу / виводу диска. Але ніхто (достовірний) не записувався з такою заявою.
— Сіамус

Відповіді:


4

По-перше, диски оперативної пам’яті - це не те саме, що tmpfs .

На вашому кореневому диску є багато каталогів, які використовуються для зберігання тимчасових файлів. Ці папки, як правило, багато читають і пишуть, коли програми створюють, змінюють, а потім видаляють файли під час їх виконання.

На механічному жорсткому диску, де кількість циклів читання / запису не має значення, це абсолютно добре. Однак на Raspberry Pi, де основним резервним файлом зберігання є SD-карта, де існує обмежена кількість циклів читання / запису, наявність такої кількості вводу-виводу може передчасно зношувати картку.

Оскільки нам не потрібно зберігати файли у цих тимчасових каталогах під час перезавантаження, багато дистрибутивів намагаються зменшити знос накопичувального пристрою, зберігаючи тимчасові файли з високим трафіком в оперативній пам'яті. Tmpfs використовується з його файлової системи, яка використовує оперативну пам'ять як резервний запас даних. Ось чому ви бачите стільки каталогів, як встановлено tmpfs.

Оперативні диски абсолютно не пов'язані з цим. Вони є блоковими пристроями , які підтримуються оперативною пам'яттю, тоді як tmpfs - це файлова система, підтримувана оперативною пам'яттю. Оперативні диски - це необроблені блокові пристрої, подібні до /dev/sdaтощо. Ви можете створити файлову систему поверх диска оперативної пам’яті, виконавши так mkfs /dev/ramсамо, як і на звичайному блоці жорсткого диска.

Я вважаю, що кількість дисків оперативної пам’яті, які доступні для використання, контролюється параметром конфігурації ядра . Будьте впевнені, що вони фактично не займають місця, поки ви не користуєтесь ними / пишете їм.


7

Це нічого незвичайного.

Оперативні диски зазвичай використовуються для тимчасових файлових систем.

Мій ноутбук 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 як "хардкор", так би мовити, де потрібно чітко сказати ОС, що ти хочеш це робити, і тепер у мене є система створення дисків та файлових систем та їх встановлення. всюди самостійно - так хто тут контролює?
— РусьІ

2

Коротка відповідь : це лише fdisk особливість останніх версій. Крім того, ви можете також використовувати partedі lsblk.

Витягнуто з цієї теми в AskUbuntu:

На більш пізніх версіях fdiskвибору того , що програма вважає , як блоковий пристрій істотно змінилося. У util-linuxпакеті, до складу якого входить fdisk (серед інших), версія 2.21, це рішення базується на геометрії повідомленого диска, тоді як у ( поточній версії 2017) поточній версії 2.72.1 вихід / / proc / розділів аналізується

І:

У баран-диски були в ядрі в протягом тривалого часу, це поведінка FDISK , що змінилося.

Більш детальна інформація та декілька обхідних шляхів (якщо ці диски на екрані дратують вас) у вищезгаданій темі.


"Більше деталей та декілька обхідних шляхів" ??? де ???
— ZEE

@Zee, подивись на згадану нитку на AskUbuntu. Вони навіть перелічують деякі виправлення для вихідного джерела fdisk.
— Sopalajo de Arrierez
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.