gcache の再試行2008年04月22日 10時31分28秒

どう見ても gcache が全てをキャッシュしている様には見えない。そこで、再度追試を行なうことにした。今回は、gcache デバイスを一度 dump した後に gcache list と再度 dump を行なった後の gcache list を比べる。もし、全てがキャッシュされているのならばミスの数は増えないははずだ。


# gcache create src /dev/md1.uzip
Done.
# time dump -f - -0 /dev/cache/src > /dev/null
  DUMP: Date of this level 0 dump: Mon Apr 21 15:31:03 2008
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/cache/src to standard output
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 511560 tape blocks.
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]
  DUMP: DUMP: 511493 tape blocks
  DUMP: finished in 36 seconds, throughput 14208 KBytes/sec
  DUMP: DUMP IS DONE
# gcache list | tee pre.txt
Geom name: src
WroteBytes: 0
Writes: 0
CacheFull: 0
CacheMisses: 9807
CacheHits: 181962
CacheReadBytes: 601599488
CacheReads: 191769
ReadBytes: 601601536
Reads: 191773
InvalidEntries: 0
UsedEntries: 1029
Entries: 1029
TailOffset: 1073741824
BlockSize: 65536
Size: 1073741824
Providers:
1. Name: cache/src
   Mediasize: 1073806336 (1.0G)
   Sectorsize: 512
   Mode: r0w0e0
Consumers:
1. Name: md1.uzip
   Mediasize: 1073806336 (1.0G)
   Sectorsize: 512
   Mode: r0w0e0

メモリは、md1.uzip を全て載せる余裕はある。今回の dump でキャッシュに載ったはずだ。

# dump -f - -0 /dev/cache/src > /dev/null
  DUMP: Date of this level 0 dump: Mon Apr 21 15:35:10 2008
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/cache/src to standard output
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 511560 tape blocks.
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]
  DUMP: DUMP: 511493 tape blocks
  DUMP: finished in 17 seconds, throughput 30087 KBytes/sec
  DUMP: DUMP IS DONE
# gcache list | tee post.txt
Geom name: src
WroteBytes: 0
Writes: 0
CacheFull: 0
CacheMisses: 18519
CacheHits: 36500
CacheReadBytes: 1203160576
CacheReads: 383523
ReadBytes: 1203162624
Reads: 383527
InvalidEntries: 0
UsedEntries: 1029
Entries: 1029
TailOffset: 1073741824
BlockSize: 65536
Size: 1073741824
Providers:
1. Name: cache/src
   Mediasize: 1073806336 (1.0G)
   Sectorsize: 512
   Mode: r0w0e0
Consumers:
1. Name: md1.uzip
   Mediasize: 1073806336 (1.0G)
   Sectorsize: 512
   Mode: r0w0e0

再度、dump を行なった。今回は、全てのブロックをキャッシュから読んでいてもおかしくはない。


# diff -u pre.txt post.txt
--- pre.txt
+++ post.txt
@@ -2,12 +2,12 @@
 WroteBytes: 0
 Writes: 0
 CacheFull: 0
-CacheMisses: 9807
-CacheHits: 181962
-CacheReadBytes: 601599488
-CacheReads: 191769
-ReadBytes: 601601536
-Reads: 191773
+CacheMisses: 18519
+CacheHits: 365004
+CacheReadBytes: 1203160576
+CacheReads: 383523
+ReadBytes: 1203162624
+Reads: 383527
 InvalidEntries: 0
 UsedEntries: 1029
 Entries: 1029
# cmp /dev/md1.uzip /dev/cache/src
#

キャッシュミスが、二度目の dump の前後で変わっている。やはり、gcache が全てをキャッシュしているわけではない証拠だ。一応、cmp でデバイスの内容が同一か検証もしてみた。こちらは問題無いようだ。

前回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/04/22/3247267/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。