toge's diary

コンピュータ関連の趣味をつらつらと。

オタワLinuxシンポジウム2日目:ユーザ空間は最悪、他

http://opentechpress.jp/article.pl?sid=06/07/25/0251249

Fedora Core5のブート時間短縮のためにLinuxの動きをみたら、あまりに富豪プログラミングでぐったりしたって話。

最初に彼がした作業は、すべてのファイル・アクセスをログに記録するパッチをカーネルに当てることだった。無駄なアクセスを調べるためである。それでわかったのは、ブート時にFC5では79,000のファイルにアクセスがあり、そのうち26,000が開かれることである。シャットダウン時には、 23,000のファイルにアクセスがあり、開かれたファイルの数は7,000に上った。

そういった小さな問題点を修正したら、どれぐらいの時間を短縮できるのかと、会場から質問があった。不要なファイル・アクセスを省くことで、無駄な時間を半減できると、Jones氏は答えた。もっとも、節減された時間は、システム・リソースを消費する新しい機能とアプリケーションによって食いつぶされてしまう。であるから、このような徹底的なテストを定期的に行うことが必要だと、彼は語った。

なんとも恐しい。問題を発見するにはstrace、ltrace、Valgrindを使えば十分に分かると書いてある。確かにそうだろうな。
自分のプログラムは大丈夫だろうか?

% strace -o hoge.strace ./hoge 
% grep open hoge.strace
.... 

げふ、なんか大昔に消した/usr/local/opt/intel/compiler70/ia32にファイルがないか探そうとして悉く失敗しているんですけど・・・。
なんか遅そうだな・・・。昔intel compilerで生成したバイナリを動かすために~/.zshenvでLD_LIBRARY_PATHを設定しているせいだった。あぶないあぶない。