我在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


评论

我发现了这个相关问题。这个问题也没有很好的答案,但是有一条评论表明/ proc / partitions可能是相关的。您应该在问题中包含cat / proc / partitions的输出。

您不一定会在Raspberry Pi特定站点上找到有关一般Linux问题的任何答案。 Google很快找到了答案。

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

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

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

#1 楼

首先,RAM磁盘与tmpfs不同。

根驱动器上有许多目录用于存储临时文件。在应用程序创建,修改和删除文件期间,这些文件夹往往会进行大量读写操作。

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

由于我们不需要在重新启动时将文件保留在这些临时目录中,因此许多发行版试图通过将高流量的临时文件存储在RAM中来减少存储设备的损耗。使用Tmpfs是因为它是一个使用RAM作为其存储后端的文件系统。这就是为什么您看到如此多的目录作为tmpfs挂载的原因。
RAM磁盘与此完全无关。它们是由RAM支持的块设备,而tmpfs是由RAM支持的文件系统。 RAM磁盘是与/dev/sda等类似的原始块设备。您可以像在普通硬盘驱动器块设备上一样,通过运行mkfs /dev/ram在RAM磁盘上创建文件系统。

我相信可用的RAM磁盘数由内核配置选项控制。请放心,在您使用/写入它们之前,它们实际上不会占用空间。

#2 楼

没什么特别的。

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


评论


您没有回答这个问题。问题是为什么/ dev / ram15(大概也是0-14)出现在fdisk的输出中。您的答案仅是提到与/ dev / ram *完全无关的tmpfs。

–卡巴斯德
16 Mar 27 '16 at 17:01

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

– RusI
16 Mar 27 '16 at 17:43

#3 楼

简短的答案:这只是最新版本上的一个特性。或者,您也可以使用fdiskparted

从AskUbuntu的此线程中提取:


在更高版本的lsblk上,选择程序的内容
被认为是块设备的实质性改变。在fdisk(除其他功能之外)的fdisk软件包中,版本
2.21该决定是基于所报告的磁盘几何形状的,而在(截至2017年5月)当前版本2.72.1中,此输出是
/ proc / partitions被解析


和:


ram磁盘已经存在于内核中很长时间了,它是
fdisk的行为发生了变化。



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

评论


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

– ZEE
19年4月2日在15:36

@Zee,查看AskUbuntu上的引用线程。他们甚至列出了fdisk原始来源的一些补丁。

– Sopalajo de Arrierez
19年4月3日在18:28