Oracle® Solaris Studio 12.4: パフォーマンスアナライザ

印刷ビューの終了

更新: 2015 年 1 月
 
 

カーネルおよびユーザープロセスのプロファイリング

er_kernel ユーティリティーでは、カーネルおよびアプリケーションのプロファイリングを実行できます。–F オプションを使用すると、アプリケーションのプロセスを追跡し、そのデータを記録するかどうかを制御できます。

–F on または –F all オプションを使用すると、er_kernel は、カーネルのほかに、すべてのアプリケーションプロセスに関する実験を記録します。er_kernel 実験の収集中に検出されたユーザープロセスが追跡され、追跡されたプロセスごとにサブ実験が作成されます。

root ユーザー以外で er_kernel を実行した場合、非特権ユーザーは通常ほかのユーザーのプロセスについて何も読み取ることができないため、多くのサブ実験は記録されない可能性があります。

十分な権限がある場合、ユーザープロセスのデータはプロセスがユーザーモードのときだけ記録され、ユーザー呼び出しスタックだけが記録されます。追跡された各プロセスのサブ実験には、kucycles メトリックのデータが含まれています。サブ実験には、_process-name_PID_process-pid.1.er の形式を使用して名前が付けられます。たとえば、sshd プロセスに関して実行された実験には、_sshd_PID_1264.1.er という名前が付けられることがあります。

一部のユーザープロセスだけを追跡するには、–F =regexp を使用して正規表現を指定し、正規表現に一致する名前または PID を持つプロセスに関する実験を記録できます。

たとえば、er_kernel -F =synprog では、synprog というプログラムのプロセスが追跡されます。

/proc ファイルシステムから er_kernel によって読み取られるプロセス名は、OS によって最大 15 文字まで (および 0 バイト) に切り捨てられます。そのように切り捨てられたプロセス名に一致するようにパターンを指定するべきです。

正規表現については、regexp(5) のマニュアルページを参照してください。

デフォルトでは、-F off オプションが設定されるため、er_kernel はユーザープロセスのプロファイリングを実行しません。


注 -  er_kernel-F オプションは、collect-F オプションとは異なります。collect -F コマンドは、コマンド行で指定したターゲットによって作成されたプロセスだけを追跡する場合に使用し、er_kernel -F は、システムで現在実行されているすべてのプロセスを追跡する場合に使用します。