プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

atimeはいつ更新される? のつづき このエントリーをはてなブックマークに追加

404 Blog Not Found さんがトラックバックくれてるみたいだ。
すばらしいまとめ記事をありがとうございます。

せっかくなのでお礼がてら、トラバのトラバをば


ITProのチューニング記事(noatime付加)を検証してみた - 科学と非科学の迷宮

1. 電源投入してからGUIログイン画面が表示されるまでの時間を測定する。
2. 「# time find /usr/ -name linux」を実行し、findの実行時間を測定する。

1.はとにかく、2.では検証になりません。




基本的な「atimeはいつ更新されるのか」が誤解されているためです。
atimeは、データを読み出した時に更新される → メタデータを読んでも更新されない



あー、これは2つ目の段落単体では正しいけれども、1つ目の段落の否定にはならないんだな。
どういうことかというと


% stat .
File: `.'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd00h/64768d Inode: 3968156 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 500/ kosaki) Gid: ( 500/ kosaki)
Access: 2008-06-09 19:26:09.000000000 +0900
Modify: 2008-06-09 19:25:53.000000000 +0900
Change: 2008-06-09 19:25:53.000000000 +0900

% ls -l
total 8
-rw-r--r-- 1 kosaki kosaki 4096 Jun 9 19:25 test.txt

% stat .
File: `.'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd00h/64768d Inode: 3968156 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 500/ kosaki) Gid: ( 500/ kosaki)
Access: 2008-06-09 19:27:49.000000000 +0900
Modify: 2008-06-09 19:25:53.000000000 +0900
Change: 2008-06-09 19:25:53.000000000 +0900


のように、lsしただけでディレクトリのatimeは更新されるから。
これはreaddir でatime更新規則でこうなる。
んでもって、findとかでディレクトリにを再帰的にたどろうと思うと、readdirは絶対発行されるので、
(あ、Linux的にはシステムコールはdirentですね。libcとvfsのレイヤでreaddirという名前なので、ついクセでreaddirといってしまうけど。)
ファイルのatimeは更新されない、かつ、ディレクトリのatimeは更新される


ということになります。
なので、無意味と弾言しちゃうとちょっと違う

ただ、惜しむらくは(DANさんご指摘の通り) atimeネックが明に見えやすいベンチマークじゃないので
もうちょっと測定のしかたを変えると、いいかもって言いたくなる気持ちは分かるかも

結論ないな。うじゃうじゃ


関連記事


linux | 【2008-06-09(Mon) 18:47:51】 | Trackback:(0) | Comments:(1)
コメント
何という見苦しい言い訳...
2008-08-18 月 03:28:59 | URL | え? #mQop/nM. [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。