modprove brd rd_size=62914560
CentOS 7.5で60GBのRAMdiskを作成しました。結果を確認すると、fdisk -l /dev/ram*
16個の60GB RAMブロックデバイス(/dev/ram0、/dev/ram1、...、/dev/ram15)が表示されます。
パフォーマンスを確認するために、RAMブロックデバイスで16のランダムアクセスタスク(スレッド)を実行したいと思います。私はFIOツールを使用してこのようなワークロードを実行します。ただし、次のエラーが発生します。
/ dev / ram1のキャッシュ無効化に失敗しました:デバイスまたはリソースが使用中です。
なぜこれが起こるのですか?単一のRAMブロックデバイスにアクセスできるジョブ(スレッド)の数に制限はありますか?チェックブロックデバイスを使用すると、lsblk
ラムブロックデバイスは表示されません。なぜですか?
ありがとう
答え1
lsblk
マニュアルページから:
このコマンドは、デフォルトですべてのブロックデバイス(RAMディスクを除く)をツリー形式で印刷します。
これはバグではありません。これは機能です! :-)
RAM デバイスを含めるには、次の手順を実行します。lsblk -I 1
lsblk -I 1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
ram0 1:0 0 9,8M 0 disk
ram1 1:1 0 9,8M 0 disk
ram2 1:2 0 9,8M 0 disk
...
答え2
一度に複数の質問をすると、すべての回答を得る可能性が減ります。:-(
ただし、次のエラーが発生します。
/ dev / ram1のキャッシュ無効化に失敗しました:デバイスまたはリソースが使用中です。
なぜこれが起こるのですか?単一のRAMブロックデバイスにアクセスできるジョブ(スレッド)の数に制限はありますか?
brdデバイスで使用されているページを解放する機能はすでにあります。ff26956875c2f05e12ecec9938411a2c7dfc767d: brd: remove support for BLKFLSBUF
。これは、下位RAMパーティションにコマンドを実行すると、親BRDデバイスが破損する可能性があるために行われますBLKFLSBUF
(ページを共有できる他の兄弟パーティションがある可能性があると仮定します)。
単一のRAMブロックデバイスにアクセスできるジョブ(スレッド)の数に制限はありますか?
いいえ、上記をご覧ください。
lsblk を使用してブロックデバイスを確認すると、RAM ブロックデバイスは表示されません。なぜですか?
RAMブロックデバイスは基本的に設計上表示されていないのでlsblk
... マニュアルページの先頭からlsblk(8)
:
このコマンドは、デフォルトですべてのブロックデバイス(RAMディスクを除く)をツリー形式で印刷します。
よりlsblk マニュアルページのオプションlsblk
ディスプレイを変更する方法を学びます。