なぜこれほど多くのRAMディスクがあるのですか?


15

Raspberry Pi 2でArch Linuxを実行しています。

インストール直後に、を実行lsblkfdiskdfコマンドを実行しました(残念ながら出力を保存しませんでした)が、SDカードとその2つのパーティションである1つのディスクがありました。次に、を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質問に含める必要があります。
カスペルド

Linuxの一般的な質問に対するRaspberry Pi固有のサイトで必ずしも答えが見つかるとは限りません。Googleがすばやく答えを見つけます。
ジョアン

1
@joanああ、私は徹底的なグーグル検索を行いましたが、明確で簡潔な答えを見つけることができませんでした。
-RusI

1.これらのRAMディスクは、カーネルをコンパイルする前に有効にする必要があります。2. FSをマウントする前に、実際にRAMを使用しないでください。
フレークシェイク

これらのRAMディスクを割り当てる理由は謎のままです...それは、1)SDカードへの書き込みを保存する、および/または2)ディスクI / Oレイテンシーを減らすことでパフォーマンスを改善する必要があるように思えます。誰も(信頼できる)そのような声明で記録に載っていません。
シーマス

回答:


4

まず、RAMディスクはtmpfsと同じものではありません

ルートドライブには、一時ファイルの保存に使用される多くのディレクトリがあります。これらのフォルダーは、アプリケーションの実行中に、アプリケーションがファイルを作成、変更、削除する際に、読み取りと書き込みが頻繁に行われる傾向があります。

読み取り/書き込みサイクルの数が問題にならない機械的なハードドライブでは、これはまったく問題ありません。ただし、主記憶装置のバックエンドが読み取り/書き込みサイクルの数が限られているSDカードであるRaspberry Piでは、大量のI / Oが発生すると、カードが早期に消耗する可能性があります。

再起動時にこれらの一時ディレクトリにファイルを保持する必要がないため、多くのディストリビューションは、高トラフィックの一時ファイルをRAMに保存することで、ストレージデバイスの消耗を軽減しようとします。Tmpfsは、RAMをストレージバックエンドとして使用するファイルシステムであるため使用されます。これが、tmpfsとしてマウントされた非常に多くのディレクトリを見る理由です。

RAMディスクはこれとはまったく関係ありません。それらはブロックデバイス TMPFSであるのに対し、RAMが付いていたファイルシステム RAMに裏打ちされました。RAMディスクは、/dev/sdaetcに似たrawブロックデバイス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 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、fdiskからの出力になぜ(そしておそらく0-14も)現れるかです。あなたの答えは、にtmpfsまったく関係のないことだけに言及してい/dev/ram*ます。
カスペルド

1
私はあなたの声明を疑いませんが、私はこれらの変更が私のシステムで起こった理由に本当に興味があります。私はLinuxを勉強しているだけで、特に「ハードコア」としてArchを選んだので、OSに何をしたいのかをOSに明示的に伝えなければならない場所について説明します。それ自体で場所中-だから誰がここで制御されていますか?
-RusI

2

簡単な答え:それは最新バージョンのfdisk 特徴にすぎません。また、あなたはまた、使用することができますpartedlsblk

AskUbuntuのこのスレッドから抽出:

fdiskプログラムがブロックデバイスと見なすものを選択した後のバージョンでは、 大幅に変更されました。(とりわけ)のfdiskは、の一部であるパッケージ、バージョン2.21この決定が報告に基づいているディスクジオメトリ(2017年5月のような)にしながら、現在のバージョン 2.72.1 の/ proc /パーティションの出力が解析されutil-linux

そして:

ラムディスクは、それが変更されたことのfdiskの振る舞いで、長い時間のためにカーネルにされています。

上記のスレッドに関する詳細といくつかの回避策(画面上のRAMディスクが気になる場合)。


「詳細といくつかの回避策」??? どこ ???
ZEE

@Zee、AskUbuntuの参照スレッドをご覧ください。さらに、fdiskの元のソースのパッチもリストしています。
ソパラホデアリエレス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.