为什么我有这么多RAM磁盘?


15

我在Raspberry Pi 2上运行了Arch Linux。

紧接着安装,我跑了lsblkfdiskdf命令(可惜我没有保存输出),但我有一个磁盘,这是SD卡,上面有两个分区。然后,我使用pacman -Syu,安装sudo和配置升级了系统ssh。现在,当我运行fdisk它时,显示我的内存中有16个RAM磁盘,它们带有参数:

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特定站点上找到有关一般Linux问题的任何答案。快速的Google查找答案。
2016年

1
@joan哦,我做了广泛的谷歌搜索,但是我找不到一个清晰简洁的答案,只是点点滴滴。
RusI

1.在编译内核之前必须启用那些RAM磁盘。2.在安装FS之前,他们实际上不应使用任何RAM。
flakeshake

那么分配这些RAM磁盘的原因仍然是个谜...似乎似乎是这样的原因:1)保存对SD卡的写操作,和/或2)通过减少磁盘I / O延迟来提高性能。没有人(可信的)用这样的陈述记录在案。
Seamus '18

Answers:


4

首先,RAM磁盘与tmpfs不同

根驱动器上有许多目录用于存储临时文件。这些文件夹在应用程序执行过程中往往会产生大量读写操作,而应用程序会创建,修改然后删除这些文件。

在机械硬盘驱动器上,读/写周期的数量无关紧要,这很好。但是,在Raspberry Pi上,主存储后端是SD卡,其中的读/写周期数量有限,如果进行如此多的I / O操作可能会使卡过早磨损。

由于我们不需要通过重新启动将文件保留在这些临时目录中,因此许多发行版试图通过将高流量的临时文件存储在RAM中来减少存储设备的损耗。使用Tmpfs是因为它是一个使用RAM作为其存储后端的文件系统。这就是为什么您看到如此多的目录挂载为tmpfs的原因。

RAM磁盘与此完全无关。它们是由RAM支持的块设备,而tmpfs是由RAM支持的文件系统。RAM磁盘是与/dev/sdaetc 相似的原始块设备。您可以mkfs /dev/ram像在普通硬盘驱动器块设备上一样运行,从而在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零

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/ram15fdisk的输出中会显示(也可能是0-14)。您的答案只提及tmpfs与完全无关的内容/dev/ram*
卡巴斯德,2016年

1
我毫不怀疑您的发言,但我对为什么这些更改在我的系统中发生真正感兴趣。在我刚刚学习Linux的同时,我特别选择Arch作为“核心”,可以这么说,您必须明确告诉OS您想要它做什么,现在我已经有了系统来创建磁盘和文件系统并进行安装遍布整个地方-那么这里谁在控制?
RusI

2

简短的回答:这只是最新版本的fdisk 特性。或者,您也可以使用partedlsblk

从AskUbuntu的此线程中提取:

在以后的版本中fdisk,程序认为什么 是块设备的选择发生了重大变化。在该util-linux软件包中,fdisk(除其他外)是版本2.21的一部分,该决定基于所报告的磁盘几何形状,而在(截至2017年5月)当前版本 2.72.1中,将解析/ proc / partitions输出

和:

冲压盘已经在内核中很长一段时间,它的fdisk,改变行为。

上述线程的更多详细信息和几​​种解决方法(如果屏幕上的那些ram磁盘使您烦恼)。


“更多详细信息和几​​种解决方法” ???哪里???
ZEE

@Zee,查看AskUbuntu上的引用线程。他们甚至列出了fdisk原始来源的一些补丁。
Sopalajo de Arrierez,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.