帯域幅をtmpfsベースのRAMディスクに調整できますか?


8

次のようにtmpfsを使用してRAMディスクを作成しました。

sudo mount -t tmpfs -o size=1024m tmpfs /myramdisk

私はcgroup blkioサブシステムの帯域幅制限「read_bps_device」と「write_bps_device」を調べていましたが、アクセスをスロットルするブロックデバイスのメジャー番号とマイナー番号が必要なようです。

インメモリtmpfs ramdiskと同様の帯域幅制限を達成する方法はありますか?

アップデート:私はこれを達成するための回り道のハッキーな方法を見つけました。最初にnfsでramdiskマウントをエクスポートします。次に、nfsが同じマシンのループバックにマウントします。次に、Linuxネットワークトラフィックシェーピングを使用して、帯域幅制限を設定します。これは私に必要なものを提供するようです。私は、この恐ろしいレイヤリングに伴うペナルティを確認するために、いくつかの測定を行っている最中です。その情報は数日中に更新します。


私が賞金を授与できるように、あなたが答えとして書いたことを書いていただけますか?バウンティはいったん提供されると、「使用するか失うか」のようなものです。
Bratchley 2014年

回答:


1

statまたは/proc/[PID]/mountinfoまだデバイス番号が何であるかを教えてください:

[root@XXXlin01 block]# stat --printf="%d" /tmp/mnt; echo
24
[root@XXXlin01 block]# stat --printf="%d" /tmp/mnt2; echo
25
[root@XXXlin01 block]# grep "/tmp/mnt" /proc/22195/mountinfo
40 20 0:24 / /tmp/mnt rw,relatime - tmpfs none rw
41 20 0:25 / /tmp/mnt2 rw,relatime - tmpfs none rw

両方の出力が表示さ0:250:24問題のデバイス番号など。「0」のデバイス番号は、「名前のない」マウント(tmpfs、sysfs、nfs、procfsなど)に使用されます。たとえば、NFSマウントは次のとおりです。

[root@XXXlin01 block]# grep "/LinuxHome" /proc/22195/mountinfo
39 36 0:23 / /home/jad87 rw,relatime - nfs duhsnas-xxx:/ifs/Application\040File\040Shares/DUHS/LinuxHomeDir_fs/jad87 rw,vers=3,rsize=4096,wsize=4096,namlen=255,soft,proto=tcp,timeo=14,retrans=2,sec=sys,mountaddr=10.1x.92.106,mountvers=3,mountport=300,mountproto=udp,local_lock=none,addr=10.1x.92.106
42 36 0:26 / /home/tsa20 rw,relatime - nfs 10.1x.92.117:/ifs/Application\040File\040Shares/DUHS/LinuxHomeDir_fs/tsa20 rw,vers=3,rsize=4096,wsize=4096,namlen=255,soft,proto=tcp,timeo=14,retrans=2,sec=sys,mountaddr=10.1x.92.117,mountvers=3,mountport=300,mountproto=udp,local_lock=none,addr=10.1x.92.117

NFSマウントは、上記されている0:230:26、それぞれ。


RAMディスクのメジャー/マイナー番号に関する情報をありがとう。しかし、cgroups blkioサブシステムは、名前のないデバイスのスロットルを許可していないようです。echo "0:32 1048576" > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_device「書き込みエラー:無効な引数」が表示されました。誰かが知っている別の方法があるかもしれません。
weirdbluelights 2014年

すみません、それを知りませんでした。好奇心から、tmpfs帯域幅を形成する目的は何ですか?FSBか何かで他の作業のためのスペースを作るだけですか?
Bratchley 2014年

これは、コースプロジェクトのシミュレーション研究用です。目標は、さまざまな書き込み/読み取り帯域幅の範囲に対してアプリケーションのパフォーマンスをプロットすることです。
weirdbluelights 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.