Perché ho così tanti dischi RAM?


15

Ho Arch Linux in esecuzione sul mio Raspberry Pi 2.

Subito dopo l'installazione, mi sono imbattuto lsblk, fdiske dfcomandi (purtroppo non ho salvare l'output), ma ho avuto un disco, che è la scheda SD e due partizioni su di esso. Quindi, ho aggiornato il sistema con pacman -Syu, installato sudoe configurato ssh. Ora, quando eseguo fdisk, mostra che ho 16 dischi RAM in memoria con parametri:

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

e tutti i tipi di file system montati in vari punti di montaggio (mentre personalmente ho creato solo /dev/roote /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

Quindi la mia domanda è: cosa sono tutti questi dischi RAM e perché sono nel mio sistema, dal momento che sicuramente non li ho creati e quali sono montati quei file system?

Modifica :

cat /proc/partitions produzione:

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
Ho trovato questa domanda correlata . Neanche questa domanda ha grandi risposte, ma un commento suggerisce che /proc/partitionspotrebbe essere rilevante. Dovresti includere l'output di cat /proc/partitionsnella tua domanda.
Kasperd,

Non troverai necessariamente risposte su un sito specifico di Raspberry Pi a domande generali su Linux. Un rapido Google trova risposte.
joan

1
@joan Oh, ho fatto molte ricerche su google, ma non sono riuscito a trovare una risposta chiara e concisa, solo frammenti.
RusI

1. Quei dischi RAM devono essere abilitati prima di compilare il kernel. 2. Non dovrebbero effettivamente utilizzare alcuna RAM prima di montare un FS su di essi.
frappè

La ragione per l'allocazione di questi dischi RAM rimane un mistero quindi ... sembrerebbe che la ragione dovrebbe essere: 1) salvare le scritture sulla scheda SD e / o 2) migliorare le prestazioni riducendo la latenza di I / O del disco. nessuno (credibile) è stato registrato con tale affermazione.
Seamus,

Risposte:


4

Innanzitutto, i dischi RAM non sono la stessa cosa di tmpfs .

Esistono molte directory sull'unità root utilizzate per archiviare i file temporanei. Queste cartelle tendono ad avere molte letture e scritture in corso mentre le applicazioni creano, modificano ed eliminano i file nel corso della loro esecuzione.

Su un disco rigido meccanico in cui il numero di cicli di lettura / scrittura non ha importanza, questo è perfettamente corretto. Tuttavia, sul Raspberry Pi, in cui il backend della memoria principale è una scheda SD in cui esiste un numero limitato di cicli di lettura / scrittura, avere così tanto I / O in corso può logorare prematuramente la scheda.

Poiché non è necessario conservare i file in tali directory temporanee al riavvio, molte distro tentano di ridurre l'usura del dispositivo di archiviazione archiviando i file temporanei ad alto traffico nella RAM. Tmpfs è usato dal momento che è un filesystem che utilizza la RAM come backend di archiviazione. Questo è il motivo per cui vedi tante directory montate come tmpfs.

I dischi RAM non sono completamente correlati a questo. Sono dispositivi a blocchi supportati da RAM, mentre tmpfs è un file system supportato da RAM. I dischi RAM sono dispositivi a blocchi grezzi simili a /dev/sdaetc ... È possibile creare un filesystem su un disco RAM eseguendolo mkfs /dev/ramesattamente come su un normale dispositivo a blocchi del disco rigido.

Credo che il numero di dischi RAM disponibili per l'uso sia controllato da un'opzione di configurazione del kernel . Siate certi che in realtà non occupano spazio fino a quando non li utilizzate / scrivete.


7

Non è niente di insolito.

I dischi RAM sono comunemente usati per i file system temporanei.

Il mio laptop 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

My 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
Non stai rispondendo alla domanda. La domanda è perché /dev/ram15(e presumibilmente anche 0-14) appaiono nell'output di fdisk. La tua risposta menziona solo ciò tmpfsche non ha alcuna relazione /dev/ram*.
Kasperd,

1
Non dubito delle tue dichiarazioni, ma sono davvero interessato al motivo per cui questi cambiamenti sono avvenuti nel mio sistema. Mentre sto studiando Linux e ho scelto Arch come "hardcore", per così dire dove devi dire esplicitamente al sistema operativo cosa vuoi che faccia, e ora ho un sistema che crea dischi e file system e li monta dappertutto da solo - quindi chi ha il controllo qui?
Rus

2

Risposta breve : è solo una fdisk peculiarità delle ultime versioni. In alternativa puoi anche usare partede lsblk.

Estratto da questa discussione su AskUbuntu:

Nelle versioni successive di fdiskselezione di ciò che il programma considera come dispositivo di blocco modifiche sostanziali. Nel util-linuxpacchetto, di cui fdisk (tra gli altri) fa parte, versione 2.21 questa decisione si basa sulla geometria del disco riportata mentre nella versione corrente 2.72.1 (come di maggio 2017) viene analizzato l' output di / proc / partitions

E:

I dischi ram sono nel kernel da molto tempo, è cambiato il comportamento di fdisk.

Maggiori dettagli e diverse soluzioni alternative (se quei dischi ram sullo schermo ti infastidiscono) sul thread sopra menzionato.


"Maggiori dettagli e diverse soluzioni alternative" ??? dove ???
ZEE,

@Zee, guarda il thread di riferimento su AskUbuntu. Elencano anche alcune patch per l'originale fdisk.
Sopalajo de Arrierez,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.