Manpages

名 前

readprofile - カ ー ネ ル の プ ロ フ ァ イ リ ン グ 情 報 を 読 み だ す ツ ー ル

書 式

readprofile [ options ]

バ ー ジ ョ ン

こ の オ ン ラ イ ン マ ニ ュ ア ル は 、 バ ー ジ ョ ン 2.0 の も の で あ る 。

説 明

readprofile コ マ ン ド は 、 /proc/profile の 情 報 を 標 準 出 力 に 出 力 す る 。 出 力 さ れ る 情 報 は 、 3 種 類 の 情 報 か ら 構 成 さ れ て い る 。 最 初 の 項 目 は 、 ク ロ ッ ク チ ッ ク (clock tick) で あ る 。 2 番 目 は 、 た く さ ん の 時 間 を 消 費 し て い る カ ー ネ ル 内 部 の C の 関 数 名 で あ る 。 3 番 目 の 項 目 は 、 手 続 き の 「 負 荷 」 を 正 規 化 し た も の で 、 関 数 の 長 さ と ク ロ ッ ク 数 の 比 率 と し て 計 算 さ れ る 。 こ れ ら の 項 目 は 、 読 み 取 り や す い よ う に 空 白 を 入 れ 、 桁 を 揃 え て 出 力 さ れ る 。 次 の コ マ ン ド ラ イ ン オ プ シ ョ ン を 指 定 で き る :
-m mapfile マ ッ プ フ ァ イ ル を 指 定 す る 。 デ フ ォ ル ト で は 、 /usr/src/linux/System.map が 使 用 さ れ る 。 現 在 の カ ー ネ ル が 最 後 に コ ン パ イ ル し た も の で な い 場 合 、 ま た は System.map を 他 の 場 所 に 保 存 し て い る 場 合 は 、 コ マ ン ド ラ イ ン 上 で マ ッ プ フ ァ イ ル を 指 定 す る 必 要 が あ る 。 マ ッ プ フ ァ イ ル 名 の 最 後 が ’.gz’ と な っ て い る 場 合 は 、 実 行 時 に 自 動 的 に 伸 長 さ れ る 。
-p pro-file 別 の プ ロ フ ァ イ リ ン グ バ ッ フ ァ を 指 定 す る 。 デ フ ォ ル ト で は 、 /proc/profile が 使 用 さ れ る 。 別 の プ ロ フ ァ イ リ ン グ バ ッ フ ァ を 使 用 す る と 、 カ ー ネ ル プ ロ フ ァ イ リ ン グ を 「 凍 結 」 し た 後 で プ ロ フ ァ イ リ ン グ 情 報 を 読 む 場 合 な ど に 有 用 で あ る 。 /proc/profile は 、 ’cat’ や 、 ’cp’ コ マ ン ド を 使 っ て コ ピ ー す る こ と が で き る 。 プ ロ グ ラ ム が プ ロ フ ァ イ リ ン グ バ ッ フ ァ の サ イ ズ を 前 も っ て 取 得 す る 必 要 が あ る た め 、 readprofile-1.1 で 行 な わ れ て い た 、 圧 縮 さ れ た プ ロ フ ァ イ リ ン グ バ ッ フ ァ は サ ポ ー ト さ れ な く な っ た 。

-i カ ー ネ ル プ ロ フ ァ イ リ ン グ 情 報 の 表 示 。 こ の オ プ シ ョ ン を 指 定 す る と 、

readprofile は 、 カ ー ネ ル に よ っ て 使 用 さ れ て い る プ ロ フ ァ イ リ ン グ ス テ ッ プ の み を 表 示 す る 。 プ ロ フ ァ イ リ ン グ ス テ ッ プ は プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 精 度 で あ り 、 (make config を 使 っ た ) カ ー ネ ル の 設 定 、 ま た は カ ー ネ ル の コ マ ン ド ラ イ ン で 指 定 さ れ る 。 -t (terse: 簡 潔 モ ー ド ) ス イ ッ チ が -i と 一 緒 に 指 定 さ れ る と 、 単 に 10 進 数 の 数 字 の み が 表 示 さ れ る 。

-a マ ッ プ フ ァ イ ル 中 の す べ て の シ ン ボ ル を 表 示 す る 。 デ フ ォ ル ト で は 、 使 用 ク ロ ッ ク 数 が

0 の 手 続 き は 出 力 さ れ な い 。

-b 各 メ モ リ 領 域 に 対 す る 出 現 数 の カ ウ ン ト を 表 示 す る 。

-r プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 内 容 を 初 期 化 す る 。

/proc/profile は 、 ス ー パ ー ユ ー ザ ー だ け が 書 き 込 み 可 能 で 、 一 般 ユ ー ザ ー は 読 み 込 み し か で き な い た め 、 こ の オ プ シ ョ ン を 使 用 す る に は 、 ス ー パ ー ユ ー ザ ー の 権 限 が 必 要 と な る 。 し か し 、 readprofile を setuid 0 と す る こ と で 、 特 権 を 持 た な い ユ ー ザ ー で も プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 内 容 を 初 期 化 す る こ と が で き る 。
-M multiplier カ ー ネ ル が プ ロ フ ァ イ リ ン グ 割 り 込 み を 各 CPU に 送 る 周 期 を 変 更 で き る ア ー キ テ ク チ ャ も あ る 。 こ の オ プ シ ョ ン に よ り 、 周 期 を シ ス テ ム ク ロ ッ ク 周 波 数 HZ の 倍 数 で 設 定 で き る 。 i386-SMP (2.2 と 2.4 カ ー ネ ル ) と sparc64-SMP (2.4 カ ー ネ ル ) で サ ポ ー ト さ れ て い る 。 こ の オ プ シ ョ ン は プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 初 期 化 も 行 う の で 、 ス ー パ ー ユ ー ザ ー 特 権 が 必 要 で あ る 。

-v 詳 細 モ ー ド 。 出 力 は

4 つ の 項 目 か ら 構 成 さ れ 、 そ れ ぞ れ 空 白 に よ り 桁

が 揃 え ら れ る 。 最 初 の 項 目 は カ ー ネ ル の 関 数 の RAM ア ド レ ス 、 2 番 目 の 項 目 は 関 数 の 名 前 、 3 番 目 の 項 目 は 使 用 し た ク ロ ッ ク 数 、 最 後 の 項 目 に は 正 規 化 さ れ た 負 荷 が 表 示 さ れ る 。

-V バ ー ジ ョ ン 情 報 の 表 示 。

readprofile は 、 現 在 の バ ー ジ ョ ン 番 号 を 表

示 し た 後 、 終 了 す る 。

プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 内 容 を 使 用 し た ク ロ ッ ク 数 の 順 に 表 示 す る に は :

readprofile | sort -nr | less 最 も た く さ ん ク ロ ッ ク を 使 用 し た 関 数 の 上 位 20 個 を 表 示 す る に は :
readprofile | sort -nr +2 | head -20 フ ァ イ ル シ ス テ ム の プ ロ フ ァ イ リ ン グ 情 報 だ け を 表 示 す る に は :
readprofile | grep _ext2 す べ て の カ ー ネ ル 情 報 を RAM ア ド レ ス と 一 緒 に 表 示 さ せ る に は :
readprofile -av | less 現 在 の カ ー ネ ル の も の で は な い 「 凍 結 さ れ た 」 プ ロ フ ァ イ リ ン グ バ ッ フ ァ の 内 容 を 表 示 す る に は :
readprofile -p ~/profile.freeze -m /zImage.map.gz 各 CPU に 対 し て 2kHz の 周 期 で プ ロ フ ァ イ リ ン グ を 要 求 し 、 プ ロ フ ァ イ リ ン グ バ ッ フ ァ を 初 期 化 す る に は :
sudo readprofile -M 20

バ グ

カ ー ネ ル バ ー ジ ョ ン 1.2 か ら 1.3 で /proc/profile が 変 更 さ れ た た め 、 readprofile は 1.3.x 以 降 の カ ー ネ ル で の み 動 作 す る 。 こ の プ ロ グ ラ ム は 、 ELF カ ー ネ ル で の み 動 作 す る 。 a.out カ ー ネ ル へ の 変 更 は 大 き な 作 業 で は な い 。 a.out カ ー ネ ル ユ ー ザ ー へ の 練 習 問 題 と し て 残 し て あ る 。 プ ロ フ ァ イ リ ン グ を 有 効 に す る た め に は 、 カ ー ネ ル の (再 構 築 と ) リ ブ ー ト が 必 要 で あ る 。 こ れ は プ ロ フ ァ イ リ ン グ 用 の モ ジ ュ ー ル は 存 在 せ ず 、 か つ 、 簡 単 に は 作 れ な い た め で あ る 。 プ ロ フ ァ イ リ ン グ を 有 効 に す る に は 、 カ ー ネ ル の コ マ ン ド ラ イ ン 上 で 、 "profile=2" (ま た は 、 別 の 数 字 ) を 指 定 す る 必 要 が あ る 。 こ の 数 字 を 指 数 と し て 2 を 累 乗 し た も の が 、 プ ロ フ ァ イ リ ン グ ス テ ッ プ と し て 使 用 さ れ る 。 プ ロ フ ァ イ リ ン グ は 、 割 り 込 み が 禁 止 さ れ て い る と 使 用 で き な い 。 こ れ は 、 割 り 込 み を 再 び 有 効 に す る と き に 、 多 く の プ ロ フ ァ イ リ ン グ の カ ウ ン ト が 行 わ れ る こ と を 意 味 す る 。 誤 っ た 情 報 に 注 意 す る こ と 。

フ ァ イ ル

/proc/profile プ ロ フ ァ イ リ ン グ バ ッ フ ァ の バ イ ナ リ ス ナ ッ プ シ ョ ッ ト
/usr/src/linux/System.map カ ー ネ ル の シ ン ボ ル テ ー ブ ル
/usr/src/linux/* プ ロ フ ァ イ ル さ れ る プ ロ グ ラ ム :-)