404 Blog Not Found さんがトラックバックくれてるみたいだ。
すばらしいまとめ記事をありがとうございます。
せっかくなのでお礼がてら、トラバのトラバをば
あー、これは2つ目の段落単体では正しいけれども、1つ目の段落の否定にはならないんだな。
どういうことかというと
のように、lsしただけでディレクトリのatimeは更新されるから。
これはreaddir でatime更新規則でこうなる。
んでもって、findとかでディレクトリにを再帰的にたどろうと思うと、readdirは絶対発行されるので、
(あ、Linux的にはシステムコールはdirentですね。libcとvfsのレイヤでreaddirという名前なので、ついクセでreaddirといってしまうけど。)
ファイルのatimeは更新されない、かつ、ディレクトリのatimeは更新される
ということになります。
なので、無意味と弾言しちゃうとちょっと違う
ただ、惜しむらくは(DANさんご指摘の通り) atimeネックが明に見えやすいベンチマークじゃないので
もうちょっと測定のしかたを変えると、いいかもって言いたくなる気持ちは分かるかも
結論ないな。うじゃうじゃ
すばらしいまとめ記事をありがとうございます。
せっかくなのでお礼がてら、トラバのトラバをば
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ネックが明に見えやすいベンチマークじゃないので
もうちょっと測定のしかたを変えると、いいかもって言いたくなる気持ちは分かるかも
結論ないな。うじゃうじゃ
- 関連記事
-
- Nick Pigginのせいで急遽 2.6.25-rc5-mm2がリリースされたようです (2008/06/11)
- atimeはいつ更新される? のつづき (2008/06/09)
- split LRU パッチが -mmにマージされました (2008/06/09)