今回は GEOM によるディスクの読み出しキャッシュ (リードキャッシュ) について纏めてみたいと思います.
GEOM CACHE は GEOM RAID3 の読み出しが遅くなる問題の解決方法として作成されたようですが,RAID3 ボリューム以外にも利用可能です.
- GEOM に関するお話
- FreeBSD GEOM 再々学習
- GEOM CONCAT (ディスクの連結) を使ってみる
- GEOM STRIPE (ストライプ/RAID0) を使ってみる
- GEOM MIRROR (ミラーリング/RAID1) を使ってみる (1)
- GEOM MIRROR (ミラーリング/RAID1) を使ってみる (2)
- GEOM STRIPE + MIRROR で RAID10 を構成してみる
- GEOM RAID3を使ってみる
- GEOM CACHE を使ってみる
- GEOM GVIRSTORを使ってみる
- GEOM GATE を使ってみる
- GEOM LABEL で名前による管理を行う
- GEOM PART でディスクパーティションの管理を行う
- GEOM MULTIPATH でマルチパスを構成する (1)
- GEOM MULTIPATH でマルチパスを構成する (2)
GEOM CACHE のイメージ
GEOM CACHE の RAID3 ボリュームのキャッシュとしたイメージはこのような形です.
前述していますが,RAID3 以外の GEOM STRIPE や MIRROR および単体のディスクに対してもこのようなキャッシュデバイスとしてつける事が可能です.
GEOM CACHE の利用・管理
GEOM CACHE は gcache というコマンドを通じて利用・管理を行います.簡単に触れますが,詳細はコマンドのオプションの詳細は FreeBSD の マニュアル「gcache」を見てください.
# gcache usage: gcache clear [-v] prov ... gcache configure [-v] [-b blocksize] [-s size] name gcache create [-v] [-b blocksize] [-s size] name prov gcache destroy [-fv] name ... gcache dump prov ... gcache label [-v] [-b blocksize] [-s size] name prov gcache reset [-v] name ... gcache stop [-fv] name ... gcache help gcache list [-a] [name ...] gcache status [-ags] [name ...] gcache load [-v] gcache unload [-v]
GEOM 関連のコマンドは gconcat の際にも触れましたが create と label の両方があり分かりづらいのですが,create は一時的,label は恒久的と覚えるのがよいです.
create で作った場合はどうなるのか?
create で作成してマウント,再起動を行うとどのようになるのかを以下に一連の流れを記載します.
gcache create コマンドでキャッシュデバイスを作成し,RAID3 ボリュームの raid3-0 に紐づけます.
-s 1G のオプションはキャッシュサイズで,これがメモリからキャッシュ用に確保される領域になります.
GEOM CACHE は実行した段階で自動的にロードされますが,明示的に読み込みさせる事をお勧めします.
# kldload geom_cache # gcache create -s 1G cache3-0 /dev/raid3/raid3-0
再起動時に必ず有効になるように /boot/loader.conf に明示的に記述する事をお勧めします.
# cat /boot/loader.conf geom_cache_load="YES"
gcache status コマンドでステータスを表示できます.
以下は cache0 のステータスです.raid3-0 に紐づけられている事が確認できます.
# gcache status Name Status Components cache/cache3-0 N/A raid3/raid3-0
gcache list コマンドで詳細を表示する事ができます.
Size がキャッシュサイズになります.キャッシュヒットやキャッシュミス等の統計値もここに表示されます.
(マウントもしていないのに値が出るのはなぜ? という状態ですが)
# gcache list Geom name: cache3-0 WroteBytes: 12288 Writes: 2 CacheFull: 0 CacheMisses: 4 CacheHits: 15 CacheReadBytes: 287744 CacheReads: 19 ReadBytes: 312320 Reads: 37 InvalidEntries: 0 UsedEntries: 1 Entries: 1 TailOffset: 322122481664 BlockSize: 65536 Size: 1073741824 Providers: 1. Name: cache/cache3-0 Mediasize: 322122546176 (300G) Sectorsize: 1024 Mode: r1w1e1 Consumers: 1. Name: raid3/raid3-0 Mediasize: 322122546176 (300G) Sectorsize: 1024 Mode: r1w1e1
マウントおよびマウントの結果です./mnt にマウントをしています.
これを /etc/fstab に記載した状態で再起動を行ってみます.
# mount /dev/cache/cache3-0 /mnt # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da0p2 19279260 2773948 14962972 16% / devfs 1 1 0 100% /dev /dev/cache/cache3-0 203123604 1499460 185374256 1% /mnt # cat /etc/fstab # Device Mountpoint FStype Options Dump Pass# /dev/da0p2 / ufs rw 1 1 /dev/da0p3 none swap sw 0 0 /dev/cache/cache3-0 /mnt ufs rw 1 1
残念な事に (想定どおりです),デバイスが無く起動途中に失敗してしまっています.
これは create で作成した為,ディスクに GEOM CACHE の情報が記録されてい為作成したデバイスが存在しておらず,この状態となります.
恒久的に使う場合は label を利用しよう
先ほどと変わって create ではなく label で cache3-0 を作成しました.
# gcache label -s 1G cache3-0 /dev/raid3/raid3-0
create と同じように指定している為,status および list の結果は先ほどと変わりません.
# gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 3 CacheHits: 14 CacheReadBytes: 74752 CacheReads: 17 ReadBytes: 87040 Reads: 26 InvalidEntries: 0 UsedEntries: 3 Entries: 3 TailOffset: 214748299264 BlockSize: 65536 Size: 1073741824 Providers: 1. Name: cache/cache3-0 Mediasize: 214748362752 (200G) Sectorsize: 1024 Mode: r0w0e0 Consumers: 1. Name: raid3/raid3-0 Mediasize: 214748363776 (200G) Sectorsize: 1024 Mode: r0w0e0
GEOM CACHE の場合,大本のデータを壊す等はないので気にせずに作業しちゃいましょう.
# mount /dev/cache/cache3-0 /mnt # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da0p2 19279260 2773948 14962972 16% / devfs 1 1 0 100% /dev /dev/cache/cache3-0 203123604 1499460 185374256 1% /mnt
キャッシュの効果について確認してみる (キャッシュ有効時)
キャッシュがどの程度有効なのかを試してみたいと思います.
上でキャッシュ経由でマウントを行いましたので,キャッシュありからテストします.
テストの方法ですが,FreeBSD の src を /mnt に展開します.
そのファイル群を tar cf /dev/null ./src という形で読み取りを行い,それにかかった時間や IO 等を見ていく形とします.
1回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:20:08 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:20:08 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 34 seconds, throughput 41246 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:20:44 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 897 72.2 0 0.0 13.7 72 1.0 13.7 72 1.0 8.9 44 0.4 0 0 1 0 99 2 1919 27.3 2 0.1 32.0 472 14.7 32.0 472 14.8 0.0 0 0.0 1 0 7 1 92 0 43 0.0 0 0.0 32.0 878 27.4 32.0 878 27.4 0.0 0 0.0 2 0 13 1 84 0 19 0.0 0 0.0 32.0 741 23.1 32.0 741 23.1 0.0 0 0.0 3 0 15 1 82 0 19 0.0 0 0.0 32.0 774 24.2 32.0 774 24.2 0.0 0 0.0 3 0 16 1 80 0 19 0.0 0 0.0 32.0 789 24.7 32.0 789 24.7 0.0 0 0.0 3 0 13 2 82 0 19 0.0 0 0.0 32.0 780 24.4 32.0 780 24.4 0.0 0 0.0 3 0 14 1 82 0 19 0.0 0 0.0 32.0 833 26.0 32.0 833 26.0 0.0 0 0.0 3 0 14 1 83 # gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 28127 CacheHits: 373201 CacheReadBytes: 2016825344 CacheReads: 401328 ReadBytes: 2016825344 Reads: 401328 InvalidEntries: 0 UsedEntries: 3290 Entries: 3290 TailOffset: 214748299264 BlockSize: 65536 Size: 1073741824
1回目の結果は36秒となりました.CacheHits しているのはなぜ? とも思いますが…
2回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:21:33 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:21:33 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 31 seconds, throughput 45237 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:22:07 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 893 72.0 0 0.0 14.6 75 1.1 14.6 75 1.1 8.9 43 0.4 0 0 1 0 99 2 1925 24.0 1 0.0 32.0 378 11.8 32.0 378 11.8 0.0 0 0.0 0 0 7 1 92 0 43 0.0 0 0.0 32.0 923 28.8 32.0 923 28.8 0.0 0 0.0 1 0 11 1 87 0 19 0.0 0 0.0 32.0 862 26.9 32.0 862 26.9 0.0 0 0.0 3 0 16 1 80 0 19 0.0 0 0.0 32.0 922 28.8 32.0 922 28.8 0.0 0 0.0 3 0 15 1 81 0 19 0.0 0 0.0 32.0 927 29.0 32.0 927 29.0 0.0 0 0.0 3 0 13 1 83 0 19 16.8 1 0.0 32.0 816 25.5 32.0 816 25.5 0.0 0 0.0 3 0 20 1 75 0 52 4.0 0 0.0 32.0 844 26.4 32.0 844 26.4 0.0 0 0.0 3 0 18 2 76 # gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 56809 CacheHits: 745847 CacheReadBytes: 4033650688 CacheReads: 802656 ReadBytes: 4033650688 Reads: 802656 InvalidEntries: 0 UsedEntries: 3342 Entries: 3342 TailOffset: 214748299264 BlockSize: 65536 Size: 1073741824
2回目の結果は 34秒でした.誤差の範囲と言えそうなレベルです.ただ,CacheHits はもっと増えていますね.
3回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:26:07 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:26:07 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 27 seconds, throughput 51939 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:26:35 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 873 71.4 0 0.0 15.4 76 1.1 15.4 76 1.1 8.9 42 0.4 0 0 1 0 99 2 1901 24.0 1 0.0 32.0 992 31.0 32.0 992 31.0 0.0 0 0.0 0 0 6 1 92 0 43 0.0 0 0.0 32.0 946 29.5 32.0 946 29.5 0.0 0 0.0 4 0 16 1 79 0 19 0.0 0 0.0 32.0 926 28.9 32.0 926 28.9 0.0 0 0.0 3 0 16 1 80 0 19 0.0 0 0.0 32.0 906 28.3 32.0 906 28.3 0.0 0 0.0 4 0 18 0 78 0 19 0.0 0 0.0 32.0 892 27.9 32.0 892 27.9 0.0 0 0.0 4 0 18 1 77 0 107 0.0 0 0.0 32.0 829 25.9 32.0 829 25.9 0.0 0 0.0 3 0 14 1 81 # gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 84275 CacheHits: 1119709 CacheReadBytes: 6050476032 CacheReads: 1203984 ReadBytes: 6050476032 Reads: 1203984 InvalidEntries: 0 UsedEntries: 3342 Entries: 3342 TailOffset: 214748299264 BlockSize: 65536 Size: 1073741824
3回目の結果は 28秒となりました.より速くなっています.何度か読み出しが行われる必要がありそうなので最後にもう一度だけやってみます.
4回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:29:11 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:29:11 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 27 seconds, throughput 51939 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:29:40 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 862 71.2 0 0.0 16.2 78 1.2 16.2 78 1.2 8.9 41 0.4 0 0 1 0 99 2 1925 24.0 1 0.0 32.0 921 28.8 32.0 921 28.8 0.0 0 0.0 1 0 8 0 90 0 43 0.0 0 0.0 32.0 978 30.6 32.0 978 30.6 0.0 0 0.0 3 0 17 0 79 0 19 0.0 0 0.0 32.0 926 28.9 32.0 926 28.9 0.0 0 0.0 3 0 15 1 82 0 19 0.0 0 0.0 32.0 917 28.7 32.0 917 28.7 0.0 0 0.0 5 0 17 1 77 0 19 0.0 0 0.0 32.0 904 28.2 32.0 904 28.3 0.0 0 0.0 3 0 16 1 80 0 112 0.0 0 0.0 32.0 922 28.8 32.0 922 28.8 0.0 0 0.0 3 0 17 1 79 # gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 112114 CacheHits: 1493198 CacheReadBytes: 8067301376 CacheReads: 1605312 ReadBytes: 8067301376 Reads: 1605312 InvalidEntries: 0 UsedEntries: 3342 Entries: 3342 TailOffset: 214748299264 BlockSize: 65536 Size: 1073741824
29秒と3回目より悪い結果になりました.キャッシュサイズとの関係性なのかがよく分からずですが,1回目よりは2回目以降は速くなっているのは確認できました.
キャッシュの効果について確認してみる (キャッシュ無効時)
続いて,キャッシュを挟まない場合で実施してみます.GEOM RAID3 ボリュームを直接マウントします.
# umount /mnt # mount /dev/raid3/raid3-0 /mnt
1回目
# date; dump -f - -0 /dev/raid3/raid3-0 > /dev/null; date Tue Dec 5 21:34:38 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:34:38 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/raid3/raid3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 64 seconds, throughput 21912 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:35:43 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 845 70.5 0 0.0 17.2 80 1.3 17.2 80 1.3 8.9 39 0.3 0 0 1 0 99 2 1941 24.0 1 0.0 4.1 3274 13.2 4.1 3274 13.2 0.0 0 0.0 1 0 8 2 89 0 19 0.0 0 0.0 2.3 6281 14.3 2.3 6281 14.3 0.0 0 0.0 1 0 10 4 84 0 19 0.0 0 0.0 2.4 6206 14.4 2.4 6206 14.4 0.0 0 0.0 1 0 12 3 84 0 19 0.0 0 0.0 2.4 6242 14.8 2.4 6242 14.8 0.0 0 0.0 1 0 11 3 85 0 19 0.0 0 0.0 2.4 6155 14.3 2.4 6155 14.3 0.0 0 0.0 1 0 10 3 86 0 19 0.0 0 0.0 2.4 6271 14.5 2.4 6270 14.5 0.0 0 0.0 1 0 11 3 85 0 52 0.0 0 0.0 2.3 6190 14.1 2.3 6190 14.1 0.0 0 0.0 1 0 12 3 84 0 19 0.0 0 0.0 2.4 6267 14.5 2.4 6267 14.5 0.0 0 0.0 2 0 10 4 84
65秒かかっています.キャッシュありの初回よりも遅いです.という事はやはりキャッシュは効いているものと考えられます.
dump は vfs キャッシュが効かないようなので2回目も同様の結果になるはずです.
2回目
# date ; dump -f - -0 /dev/raid3/raid3-0 > /dev/null ; date Tue Dec 5 21:37:59 JST 2023 DUMP: WARNING: should use -L when dumping live read-write filesystems! DUMP: Date of this level 0 dump: Tue Dec 5 21:37:59 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/raid3/raid3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 65 seconds, throughput 21574 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:39:06 JST 2023 # iostat -n 4 5 tty da0 da1 da2 da3 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 1 833 70.2 0 0.0 11.6 125 1.4 11.6 125 1.4 8.9 38 0.3 0 0 1 0 99 2 2058 19.6 2 0.0 4.2 3217 13.2 4.2 3217 13.2 0.0 0 0.0 1 0 9 2 88 0 19 0.0 0 0.0 2.3 5625 12.8 2.3 5625 12.8 0.0 0 0.0 2 0 14 2 82 0 19 0.0 0 0.0 2.4 6080 14.1 2.4 6080 14.1 0.0 0 0.0 2 0 10 2 87 0 19 0.0 0 0.0 2.4 5963 14.0 2.4 5963 14.0 0.0 0 0.0 2 0 11 2 85 0 19 0.0 0 0.0 2.4 5865 13.5 2.4 5865 13.5 0.0 0 0.0 1 0 10 3 86 0 19 0.0 0 0.0 2.4 6020 14.0 2.4 6020 14.0 0.0 0 0.0 2 0 11 2 85 0 19 0.0 0 0.0 2.3 5956 13.3 2.3 5956 13.3 0.0 0 0.0 1 0 11 3 86
2回目は67秒かかりました.キャッシュの有効性は確認できたと思います.
キャッシュヒットの条件が不明ですが,それなりな効果は期待できると言っていいのではないでしょうか.
キャッシュを制御する
gcache configure コマンドでキャッシュサイズの変更,ブロックサイズの変更が可能です.
例えば,キャッシュサイズを 1G から 2G に変えた場合はこのようになります.
# gcache configure -s 2G cache3-0 # gcache list Geom name: cache3-0 WroteBytes: 12288 Writes: 2 CacheFull: 0 CacheMisses: 124861 CacheHits: 1628979 CacheReadBytes: 8849994752 CacheReads: 1753840 ReadBytes: 8850007040 Reads: 1753849 InvalidEntries: 0 UsedEntries: 3342 Entries: 3342 TailOffset: 214748299264 BlockSize: 65536 Size: 2147483648
また,sysctl でキャッシュの制御ができるようです.
used_hi と timeout を変えると先ほどの試験の結果も変わりそうです.
# sysctl -a | grep kern.geom.cache. kern.geom.cache.used_hi: 20 kern.geom.cache.used_lo: 5 kern.geom.cache.idletime: 5 kern.geom.cache.timeout: 10 kern.geom.cache.enable: 1 kern.geom.cache.debug: 0
sysctl の値を変えて追試してみる
ドキュメント,マニュアルに全く記載がないので想定で設定してみます.
kern.geom.cache.used_hi はきっとハイウォーターマークだと想定し,これを超えて kern.geom.cache.timeout の時間を超えたものがキャッシュからパージされてしまうのではないかと考えてみました.
ですので,以下のように設定して2回ほど dump を実行してみます.
カウンターだけリセットもしています.
# sysctl kern.geom.cache.used_hi=80 kern.geom.cache.used_hi: 20 -> 80 # sysctl kern.geom.cache.timeout=120 kern.geom.cache.timeout: 10 -> 120 # gcache reset cache3-0 # gcache list Geom name: cache3-0 WroteBytes: 0 Writes: 0 CacheFull: 0 CacheMisses: 0 CacheHits: 0 CacheReadBytes: 0 CacheReads: 0 ReadBytes: 0 Reads: 0 InvalidEntries: 0 UsedEntries: 3342 Entries: 3342 TailOffset: 214748299264 BlockSize: 65536 Size: 2147483648
1回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:52:46 JST 2023 DUMP: Date of this level 0 dump: Tue Dec 5 21:52:46 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 25 seconds, throughput 56094 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:53:12 JST 2023
26秒ですね.先ほどと変わらずです.キャッシュに残っているものがあるのでそれが利用された為.なのかな?
2回目
# date ; dump -f - -0 /dev/cache/cache3-0 > /dev/null ; date Tue Dec 5 21:54:13 JST 2023 DUMP: Date of this level 0 dump: Tue Dec 5 21:54:13 2023 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/cache/cache3-0 to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 1405443 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 1402371 tape blocks DUMP: finished in 25 seconds, throughput 56094 KBytes/sec DUMP: DUMP IS DONE Tue Dec 5 21:54:39 JST 2023
2回目も26秒.んー… わからない…
すっきりしない結果とはなりましたが,GEOM CACHE の効果自体は確認はできました.
UFS を利用してファイルサーバーやメールスプールを提供している場合などは有効ではないでしょうか.
以上,GEOM CACHE の紹介でした.
コメント