[Tokyodebian-commits] TokyoDebian CVS update: monthly-report
debianmeetingresume200609.tex debianmeetingresume200609.pdf
tokyodebian CVS Commit
tokyodebian-commits at lists.alioth.debian.org
Mon Jul 31 02:33:29 CEST 2006
User: dancer
Date: 06/07/31 00:33:29
Modified: . debianmeetingresume200609.tex
debianmeetingresume200609.pdf
Log:
updated oprofile news.
Revision Changes Path
1.8 +72 -5 monthly-report/debianmeetingresume200609.tex
CVSWEB Options: -------------------
CVSWeb: Annotate this file: http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/tokyodebian/monthly-report/debianmeetingresume200609.tex?annotate=1.8&cvsroot=
CVSWeb: View this file: http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/tokyodebian/monthly-report/debianmeetingresume200609.tex?rev=1.8&content-type=text/x-cvsweb-markup&cvsroot=
CVSWeb: Diff to previous version: http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/tokyodebian/monthly-report/debianmeetingresume200609.tex.diff?r1=1.8&r2=1.7&cvsroot=
-----------------------------------
Index: debianmeetingresume200609.tex
===================================================================
RCS file: /cvsroot/tokyodebian/monthly-report/debianmeetingresume200609.tex,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- debianmeetingresume200609.tex 30 Jul 2006 12:21:02 -0000 1.7
+++ debianmeetingresume200609.tex 31 Jul 2006 00:33:29 -0000 1.8
@@ -411,12 +411,74 @@
\end{commandline}
-\subsection{dpkg と apt をコンパイルしなおす}
+\subsection{デバッグシンボルを収集する:dpkg と apt をコンパイルしなおす}
-dpkg と apt のプロファイル出力はデフォルトではデバッグ情報がたりないため、
-デバッグシンボルを追加してコンパイルしなおします。
-
-debuild -e DEB\_BUILD\_OPTIONS=debug
+まず、デバッグ情報がすでにあるパッケージについては、インストールします。
+今回では、大きいものとして、libc6-dbg パッケージがあるので、それはインス
+トールします。プロファイルの結果、上位に出現するなどで、必要そうであれば、
+あとでデバッグ情報のあるバージョンを追加します。
+
+今回プロファイル対象のdpkg と apt はデフォルトではデバッグ情報がありませ
+ん、プロファイル出力を確認しやすいように、デバッグシンボルを追加してコン
+パイルしなおします。
+
+\begin{commandline}
+ $ debuild -e DEB_BUILD_OPTIONS=nostrip
+\end{commandline}
+%$
+その後、インストールします。
+
+まず、デバッグ用のバイナリが正常に作成できているか簡単に確認します。まず、
+apt-get update をループでまわしてみます。libapt-pkgのシンボルレベルで確
+認できているので、デバッグシンボルが存在しているということがわかります。
+
+\begin{commandline}
+ $ while true; do sudo apt-get update ; done
+\end{commandline}
+%$
+
+\begin{commandline}
+ Every 10.0s: opcontrol --dump && opreport -l 2>/dev/null | head -30 ;
+ opcontrol --reset Mon Jul
+ 31 08:28:16 2006
+CPU: Core Solo / Duo, speed 2061.84 MHz (estimated)
+Counted CPU_CLK_UNHALTED events (Unhalted clock cycles) with a unit mask of 0x00 (Unhalted core cycles) count 180000
+samples % image name app name symbol name
+43117 42.3446 libapt-pkg-libc6.3-6.so.3.11.0 apt-get SHA1Transform(unsigned int*, unsigned char const*)
+23991 23.5612 libapt-pkg-libc6.3-6.so.3.11.0 apt-get MD5Transform(unsigned int*, unsigned int const*)
+6551 6.4337 vmlinux vmlinux sys_set_thread_area
+5027 4.9370 libc-2.3.6.so apt-get (no symbols)
+3280 3.2212 vmlinux vmlinux cfq_dispatch_requests
+3264 3.2055 libfb.so Xorg fbCopyAreammx
+739 0.7258 gpgv gpgv (no symbols)
+614 0.6030 libc-2.3.6.so http (no symbols)
+606 0.5951 ld-2.3.6.so http (no symbols)
+510 0.5009 libc-2.3.6.so file (no symbols)
+\end{commandline}
+
+dpkgについてもプロファイリングしてみます。しかしここで問題が出ます。
+libc6 の dbg パッケージの情報を oprofile が処理できていないようです。
+straceで解析してみましたが、ファイルをひらくところまでは何かできているよ
+うで、深入りすると深そうです。
+
+\begin{commandline}
+ $ while true; do sudo dpkg -i ../dselect_1.13.22_i386.deb ; done
+\end{commandline}
+%$
+
+\begin{commandline}
+CPU: Core Solo / Duo, speed 2061.84 MHz (estimated)
+Counted CPU_CLK_UNHALTED events (Unhalted clock cycles) with a unit mask of 0x00 (Unhalted core cycles) count 180000
+samples % image name app name symbol name
+44592 33.3795 libc-2.3.6.so dpkg (no symbols)
+24191 18.1083 vmlinux vmlinux sys_set_thread_area
+16423 12.2935 dpkg dpkg parsedb
+4416 3.3056 dpkg dpkg findnamenode
+2904 2.1738 dpkg dpkg findpackage
+2216 1.6588 dpkg dpkg f_dependency
+1654 1.2381 dpkg-deb dpkg-deb inflate_fast
+1647 1.2329 dpkg dpkg .plt
+\end{commandline}
\subsection{テストケースの作成}
@@ -453,6 +515,11 @@
\item YYY
\end{itemize}
+\subsection{参考文献}
+
+\begin{itemize}
+ \item rpmのプロファイリング \url{https://www.redhat.com/magazine/012oct05/features/oprofile/}
+\end{itemize}
\dancersection{次回}{}
未定です。
1.9 +1020 -969 monthly-report/debianmeetingresume200609.pdf
<<Binary file>>
More information about the Tokyodebian-commits
mailing list