JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1M: システム管理コマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

System Administration Commands - パート 1

System Administration Commands - パート 2

luxadm(1M)

mail.local(1M)

makedbm(1M)

makemap(1M)

masfcnv(1M)

mdlogd(1M)

mdmonitord(1M)

mdnsd(1M)

medstat(1M)

metaclear(1M)

metadb(1M)

metadetach(1M)

metadevadm(1M)

metahs(1M)

metaimport(1M)

metainit(1M)

metaoffline(1M)

metaonline(1M)

metaparam(1M)

metarecover(1M)

metarename(1M)

metareplace(1M)

metaset(1M)

metassist(1M)

metastat(1M)

metasync(1M)

metattach(1M)

mib2mof(1M)

mibiisa(1M)

mkbootmedia(1M)

mkdevalloc(1M)

mkdevmaps(1M)

mkfifo(1M)

mkfile(1M)

mkfs(1M)

mkfs_pcfs(1M)

mkfs_udfs(1M)

mkfs_ufs(1M)

mknod(1M)

mkntfs(1M)

mkpwdict(1M)

modinfo(1M)

modload(1M)

modunload(1M)

mofcomp(1M)

mofreg(1M)

monacct(1M)

monitor(1M)

mount(1M)

mountall(1M)

mountd(1M)

mount_hsfs(1M)

mount_nfs(1M)

mount_pcfs(1M)

mount_smbfs(1M)

mount_tmpfs(1M)

mount_udfs(1M)

mount_ufs(1M)

mpathadm(1M)

mpstat(1M)

msgid(1M)

mvdir(1M)

named(1M)

named-checkconf(1M)

named-checkzone(1M)

named-compilezone(1M)

ncaconfd(1M)

ncheck(1M)

ncheck_ufs(1M)

ndd(1M)

ndmpadm(1M)

ndmpd(1M)

ndmpstat(1M)

netadm(1M)

netcfg(1M)

netcfgd(1M)

netservices(1M)

netstat(1M)

netstrategy(1M)

newaliases(1M)

newfs(1M)

newkey(1M)

nfs4cbd(1M)

nfsd(1M)

nfslogd(1M)

nfsmapid(1M)

nfsref(1M)

nfsstat(1M)

nscadm(1M)

nscd(1M)

nscfg(1M)

nsdb-list(1M)

nsdb-nces(1M)

nsdbparams(1M)

nsdb-resolve-fsn(1M)

nsdb-update-nci(1M)

nslookup(1M)

nsupdate(1M)

ntfscat(1M)

ntfsclone(1M)

ntfscluster(1M)

ntfscmp(1M)

ntfscp(1M)

ntfsfix(1M)

ntfsinfo(1M)

ntfslabel(1M)

ntfsls(1M)

ntfsprogs(1M)

ntfsresize(1M)

ntfsundelete(1M)

nulladm(1M)

nwamd(1M)

obpsym(1M)

oplhpd(1M)

pageout(1M)

parted(1M)

pbind(1M)

pcitool(1M)

pfedit(1M)

pginfo(1M)

pgstat(1M)

picld(1M)

ping(1M)

pkg2du(1M)

pkgadd(1M)

pkgadm(1M)

pkgask(1M)

pkgchk(1M)

pkgcond(1M)

pkg.depotd(1M)

pkgrm(1M)

pkg.sysrepo(1M)

plockstat(1M)

pntadm(1M)

polkit-is-privileged(1M)

pooladm(1M)

poolbind(1M)

poolcfg(1M)

poold(1M)

poolstat(1M)

ports(1M)

poweradm(1M)

poweroff(1M)

powertop(1M)

pppd(1M)

pppoec(1M)

pppoed(1M)

pppstats(1M)

praudit(1M)

prctmp(1M)

prdaily(1M)

projadd(1M)

projdel(1M)

projmod(1M)

prstat(1M)

prtacct(1M)

prtconf(1M)

prtdiag(1M)

prtdscp(1M)

prtfru(1M)

prtpicl(1M)

prtvtoc(1M)

psradm(1M)

psrinfo(1M)

psrset(1M)

pwck(1M)

pwconv(1M)

quot(1M)

quota(1M)

quotacheck(1M)

quotaoff(1M)

quotaon(1M)

rad(1M)

raidctl(1M)

ramdiskadm(1M)

rarpd(1M)

rcapadm(1M)

rcapd(1M)

rctladm(1M)

rdate(1M)

rdisc(1M)

reboot(1M)

rem_drv(1M)

remove_allocatable(1M)

removef(1M)

reparsed(1M)

repquota(1M)

restricted_shell(1M)

rexd(1M)

rexecd(1M)

rlogind(1M)

rmmount(1M)

rmt(1M)

rmvolmgr(1M)

rndc(1M)

rndc-confgen(1M)

roleadd(1M)

roledel(1M)

rolemod(1M)

root_archive(1M)

route(1M)

routeadm(1M)

routed(1M)

rpcbind(1M)

rpc.bootparamd(1M)

rpcinfo(1M)

rpc.mdcommd(1M)

rpc.metad(1M)

rpc.metamedd(1M)

rpc.metamhd(1M)

rpc.rexd(1M)

rpc.rstatd(1M)

rpc.rusersd(1M)

rpc.rwalld(1M)

rpc.smserverd(1M)

rpc.sprayd(1M)

rpc.yppasswdd(1M)

rpc.ypupdated(1M)

rquotad(1M)

rsh(1M)

rshd(1M)

rstatd(1M)

rtc(1M)

rtquery(1M)

runacct(1M)

rusersd(1M)

rwall(1M)

rwalld(1M)

rwhod(1M)

sa1(1M)

sa2(1M)

sadc(1M)

sar(1M)

sasinfo(1M)

savecore(1M)

sbdadm(1M)

sched(1M)

sckmd(1M)

scmadm(1M)

sconadm(1M)

sendmail(1M)

sftp-server(1M)

shadowd(1M)

shadowstat(1M)

share(1M)

shareall(1M)

sharectl(1M)

share_nfs(1M)

share_smb(1M)

showmount(1M)

shutacct(1M)

shutdown(1M)

slpd(1M)

smattrpop(1M)

smbadm(1M)

smbd(1M)

smbiod(1M)

smbiod-svc(1M)

smbios(1M)

smbstat(1M)

smrsh(1M)

smtp-notify(1M)

sndradm(1M)

sndrd(1M)

sndrsyncd(1M)

snmpdx(1M)

snmp-notify(1M)

snmpXwbemd(1M)

snoop(1M)

soconfig(1M)

soladdapp(1M)

soldelapp(1M)

solstice(1M)

sppptun(1M)

spray(1M)

sprayd(1M)

srptadm(1M)

sshd(1M)

ssh-keysign(1M)

startup(1M)

statd(1M)

stclient(1M)

stmfadm(1M)

stmsboot(1M)

strace(1M)

strclean(1M)

strerr(1M)

sttydefs(1M)

su(1M)

sulogin(1M)

suriadm(1M)

svadm(1M)

svcadm(1M)

svcbundle(1M)

svccfg(1M)

svc.configd(1M)

svc.ipfd(1M)

svc.startd(1M)

swap(1M)

sxadm(1M)

sync(1M)

syncinit(1M)

syncloop(1M)

syncstat(1M)

sysconfig(1M)

sysdef(1M)

syseventadm(1M)

syseventconfd(1M)

syseventd(1M)

syslogd(1M)

talkd(1M)

tapes(1M)

telnetd(1M)

tftpd(1M)

th_define(1M)

th_manage(1M)

tic(1M)

tncfg(1M)

tnchkdb(1M)

tnctl(1M)

tnd(1M)

tninfo(1M)

tpmadm(1M)

traceroute(1M)

trapstat(1M)

ttymon(1M)

tunefs(1M)

turnacct(1M)

txzonemgr(1M)

tzreload(1M)

tzselect(1M)

uadmin(1M)

ucodeadm(1M)

ufsdump(1M)

ufsrestore(1M)

umount(1M)

umountall(1M)

System Administration Commands - パート 3

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

trapstat

- トラップ統計の報告

形式

/usr/sbin/trapstat [-t | -T | -e entry] 
     [-C processor_set_id | -c cpulist] [-P] [-a]
     [-A cor|soc|bins] [-k keys] [-o num] [-m]
     [-I statfile] [-O statfile]
     [-r rate] [ [interval [count]] | command | [args]]
/usr/sbin/trapstat -l [-t | -T]

機能説明

trapstat ユーティリティーは、UltraSPARC ベースシステムの実行時のトラップ統計を収集して表示します。デフォルトの出力は、トラップタイプと CPU ID から成るテーブルであり、テーブルの各行がトラップタイプを示し、テーブルの各列が CPU を示します。標準出力が端末の場合、テーブルには端末の幅にちょうど収まるだけの数の列のデータが含まれ、標準出力が端末以外の場合、テーブルには最大で 6 列のデータが含まれます。デフォルトでは、すべての CPU のデータが収集され表示されます。データが 1 つのテーブルに収まらない場合は、複数のテーブルにまたがって出力されます。データの収集および表示の対象となる CPU のセットは、必要に応じて -c または -C オプションを使って指定できます。

-r オプションまたは -a オプションが指定されていないかぎり、テーブルの各エントリに表示される値は 1 秒あたりのトラップ数に相当します。-r オプションが指定されている場合、その値は指定されたサンプリングレートで示される間隔でのトラップ数に相当します。-a オプションが指定されている場合、その値は trapstat が呼び出された以降に累積されたトラップ数に相当します。

デフォルトでは、trapstat は 1 秒間に 1 回データを表示し、永久に実行されます。これらの動作はどちらも、必要に応じてそれぞれ interval および count パラメータで制御できます。interval は秒単位で指定され、count は終了までに実行される間隔の数を示します。あるいは、command を指定することもできます。この場合、trapstat は指定されたコマンドを実行し、そのコマンドが終了するまで実行し続けます。interval は正の整数を取ります。目的の command が整数と区別できない場合は、command のフルパスを指定する必要があります。

UltraSPARC I (廃止)、II、および III は、オペレーティングシステムをトラップすることで、トランスレーションルックアサイドバッファー (TLB) ミスを処理します。TLB ミスのトラップは、一部のワークロードの全体的なシステムパフォーマンスの重要なコンポーネントになることがあります。-t オプションはこれらのトラップに関する詳細な情報を提供します。このオプションを使って trapstat を実行すると、TLB ミスのトラップの比率とそれらのトラップの処理に費やされる時間の割合の両方が表示されます。また、変換格納バッファー (TSB) 内でヒットする TLB ミスは、TSB 内でさらにミスする TLB ミスと区別されます。(TSB とは、TLB を迅速に満たすことができるように変換エントリキャッシュとして使用されるソフトウェア構造です。これについては、『UltraSPARC II User's Manual』に詳しく説明されています。)TLB および TSB ミス情報は、さらにユーザーモードおよびカーネルモードのミスに分けられます。

TLB リーチを超えるワーキングセットを使用するワークロードは、TLB でのミスにかなりの時間を費やす可能性があります。そのようなワークロードに対応するために、オペレーティングシステムは複数のページサイズをサポートしています。ページサイズが大きいほど、実質的な TLB リーチが増え、それによって TLB ミスの数が減ります。ページサイズと TLB ミス率との関係を理解する上での手掛かりとなるように、trapstat では必要に応じて -T オプションを使用して、ページサイズごとに分類された詳細な TLB ミス情報を提供します。-T オプションによって提供される情報は、-t オプションによって提供される上位集合です。-t-T のいずれかのみを指定できます。

オプション

サポートしているオプションは、次のとおりです。

-a

秒ごとまたは間隔ごとの率ではなく、単調に増えていく累積値としてトラップ数を表示します。

-A cor

出力をコア ID で集計します。同じコア ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。-m オプションでは、代わりに列の平均を出力します。

-A soc

出力をソケット ID で集計します。同じソケット ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。-m オプションでは、代わりに列の平均を出力します。

-A bins

各サンプリング期間内で少ない方の数のビンに列を集計して、表示される順にグループ化します。小計ではなく算術平均を計算するには、-m オプションを使用できます。-k ソートオプションを使用して、ビン化の段階の前に行の順序を変更できます。

ID 別の集計 (-A cor|soc) は、ソート (-k) 前に処理されます。bin 別のグループ化 (-A bins) が次に行われます。最後に、間隔ごとに表示される出力行の数は、-o によって制限されることがあります。

-c cpulist

cpulist によって指定された CPU でのみ trapstat を有効にします。

cpulist は、単一のプロセッサ ID (4 など)、一連のプロセッサ ID (4-6 など)、またはコンマで区切られたプロセッサ ID またはプロセッサ ID の範囲のリスト (4,5,6 または 4,6-8 など) にできます。

-C processor_set_id

processor_set_id によって指定されたプロセッサセット内の CPU でのみ trapstat を有効にします。

trapstat は、指定されたプロセッサセット内の CPU が必ず反映されるようにその出力を変更します。CPU がそのセットに追加された場合、trapstat はその追加された CPU が含まれるようにその出力を変更します。CPU がそのセットから削除された場合、trapstat はその削除された CPU が除外されるようにその出力を変更します。指定できるプロセッサセットは最大 1 つです。

-e entrylist

entrylist によって指定されたトラップテーブルエントリに対してのみ trapstat を有効にします。トラップテーブルエントリは、トラップ番号またはトラップ名によって指定できます (たとえば、level–10 のトラップは 740x4A0x4a、または level-10 として指定できます)。

entrylist は、単一のトラップテーブルエントリまたはコンマで区切られたトラップテーブルエントリのリストにできます。指定されたトラップテーブルエントリが有効でない場合、trapstat は有効なすべてのトラップテーブルエントリと値のテーブルを出力します。有効なトラップテーブルエントリの一覧は、『The SPARC Architecture Manual, Version 9』および『Sun Microelectronics UltraSPARC II User's Manual』にも記載されています。-e オプションに加えて、解析可能オプション (-P) も指定した場合、データの形式は次のとおりです。

フィールド
内容
1
タイムスタンプ (開始してからのナノ秒数)
2
CPU ID
3
トラップ番号 (16 進数)
4
トラップ名
5
間隔ごとのトラップ率

各フィールドはスペースで区切られています。形式が変更された場合、それはフィールド 6 から始まる潜在的に新しいフィールドを追加することで変更されます。現存しているフィールドは変わりません。

-I statfile

以前に statfile 内に保存したデータを再実行します。-O を指定して、再実行用のデータファイルを作成します。このオプションが特に役立つのは、多数の CPU を搭載したマシンの統計情報を分析する場合です。ファイルは、異なるソートおよび集計オプションを使用して何度も再処理されることがあります。

-I オプションは、間隔およびカウントの仕様と互換性がありません。

-k key1,...

各サンプリング期間内の行を、key1、次に key2、という具合に最上位から最下位へとソートします。各鍵には、level-10u-itlb-miss などの任意の列ヘッダーを trapstat 出力で指定できます。

trapstat -l を使用してすべてのイベント名を表示します。-lt または -lT を使用して、TLB 形式の鍵名を表示します。

-l

トラップテーブルエントリを一覧表示します。デフォルトでは、すべての有効なトラップ番号、その名前、および簡単な説明を含むテーブルが表示されます。トラップ名は、デフォルトの出力と、-e 引数の entrylist パラメータの両方で使用されます。-l オプションに加えて、解析可能オプション (-P) も指定した場合、データの形式は次のとおりです。

フィールド
内容
1
トラップ番号 (16 進数)
2
トラップ番号 (10 進数)
3
トラップ名
残り
トラップの説明
-m

-b または -i オプションを使用して、複数の CPU 全体でデータを集計するときは、合計ではなく算術平均値を表示します。

-o num

ソートおよび集計オプションの適用後に、各サンプリング期間内の最初の num 行のみを表示します。

-O statfile

すべてのデータを statfile に保存します。このデータは、-I を使用してあとで再実行できます。

ファイル名が (ハイフン) の場合、標準出力に書き込みます。

-O の目的は、利用可能な全データを取得することです。これには、データ整理オプション: -A-k-m、および -o との互換性はありません。

-P

解析可能な出力を生成します。ほかのデータ収集変更オプション (つまり、-e-t、または -T) を指定しないで実行した場合、trapstat の解析可能な出力には次の形式が含まれます。

フィールド
内容
1
タイムスタンプ (開始してからのナノ秒数)
2
CPU ID
3
トラップ番号 (16 進数)
4
トラップ名
5
間隔ごとのトラップ率

各フィールドはスペースで区切られています。形式が変更された場合、それはフィールド 6 から始まる潜在的に新しいフィールドを追加することで変更されます。現存しているフィールドは変わりません。

-r rate

サンプリングレートが 1 秒ごとの rate サンプル数になるように明示的に設定します。このオプションを指定した場合、trapstat の出力が 1 秒ごとのトラップ数からサンプリング間隔ごとのトラップ数に変わります。

-t

TLB 統計を有効にします。

主要な 4 列のデータ (itlb-missitsb-missdtlb-miss、および dtsb-miss) を含むテーブルが表示されます。これらの列には、対応するイベントの発生率と、そのイベントの処理に費やされる CPU 時間の割合の両方が含まれています。CPU 時間の割合は、1 つの CPU に関してのみ表示されます。テーブルの行は CPU に対応しており、CPU ごとに 2 つの行が使用されます。1 行はユーザーモードのイベント用 (u で示される)、もう 1 行はカーネルモードのイベント用 (k で示される) です。行ごとに、CPU 時間の割合が合計されて、右端の列に表示されます。CPU は実線で表されます。-t オプションに加えて、解析可能オプション (-P) も指定した場合、データの形式は次のとおりです:

フィールド
内容
1
タイムスタンプ (開始してからのナノ秒数)
2
CPU ID
3
モード (k はカーネルを示し、u はユーザーを示す)。
4
I-TLB ミス
5
I-TLB ミスハンドラにおける時間の割合
6
I-TSB ミス
7
I-TSB ミスハンドラにおける時間の割合
8
D-TLB ミス
9
D-TLB ミスハンドラにおける時間の割合
10
D-TSB ミス
11
D-TSB ミスハンドラにおける時間の割合

各フィールドはスペースで区切られています。形式を変更した場合、それはフィールド 12 から始まる潜在的に新しいフィールドを追加することで変更されます。現存しているフィールドは変わりません。

-T

TLB 統計 (ページサイズ情報を含む) を有効にします。-t オプションと同様に、主要な 4 列のデータ: (itlb-missitsb-missdtlb-miss、および dtsb-miss) を含むテーブルが表示されます。これらの列には、対応するイベントの絶対数と、そのイベントの処理に費やされる CPU 時間の割合の両方が含まれています。CPU 時間の割合は、1 つの CPU に関してのみ表示されます。テーブルの行は CPU に対応しており、CPU ごとに 2 組の行が使用されます。1 組はユーザーレベルのイベント用 (u で示される)、もう 1 組はカーネルレベルのイベント用 (k で示される) です。同様に各組にはサポートされているページサイズと同じ数だけの行が含まれています (getpagesizes(3C) を参照)。行ごとに、CPU 時間の割合が合計されて、右端の列に表示されます。これらの 2 組は波線で表されます。CPU は実線で表されます。-T オプションに加えて、解析可能オプション (-P) も指定した場合、データの形式は次のとおりです。

フィールド
内容
1
タイムスタンプ (開始してからのナノ秒数)
2
CPU ID
3
モード (k はカーネルを示し、u はユーザーを示す)
4
ページサイズ、10 進数
5
I-TLB ミス
6
I-TLB ミスハンドラにおける時間の割合
7
I-TSB ミス
8
I-TSB ミスハンドラにおける時間の割合
9
D-TLB ミス
10
D-TLB ミスハンドラにおける時間の割合
11
D-TSB ミス
12
D-TSB ミスハンドラにおける時間の割合

各フィールドはスペースで区切られています。形式が変更された場合、それはフィールド 13 から始まる潜在的に新しいフィールドを追加することで変更されます。現存しているフィールドは変わりません。

使用例

例 1 オプションを指定せずに trapstat を使用する

オプションを指定しないで trapstat を実行すると、トラップタイプと CPU のテーブルが表示されます。デフォルトの端末幅には最大で 6 列収まります。(この例にあるように) CPU の数が 6 を超える場合は、複数のテーブルが表示されます。

example# trapstat
vct  name               |     cpu0     cpu1     cpu4     cpu5     cpu8     cpu9
------------------------+------------------------------------------------------
 24 cleanwin            |     6446     4837     6368     2153     2623     1321
 41 level-1             |      100        0        0        0        1        0
 44 level-4             |        0        1        1        1        0        0
 45 level-5             |        0        0        0        0        0        0
 47 level-7             |        0        0        0        0        9        0
 49 level-9             |      100      100      100      100      100      100
 4a level-10            |      100        0        0        0        0        0
 4d level-13            |        6       10        7       16       13       11
 4e level-14            |      100        0        0        0        1        0
 60 int-vec             |     2607     2740     2642     2922     2920     3033
 64 itlb-miss           |     3129     2475     3167     1037     1200      569
 68 dtlb-miss           |   121061    86162   109838    37386    45639    20269
 6c dtlb-prot           |      997      847     1061      379      406      184
 84 spill-user-32       |     2809     2133     2739   200806   332776   454504
 88 spill-user-64       |    45819   207856    93487   228529    68373    77590
 8c spill-user-32-cln   |      784      561      767      274      353      215
 90 spill-user-64-cln   |        9       37       17       39       12       13
 98 spill-kern-64       |    62913    50145    63869    21916    28431    11738
 a4 spill-asuser-32     |     1327      947     1288      460      572      335
 a8 spill-asuser-64     |       26       48       18       54       10       14
 ac spill-asuser-32-cln |     4580     3599     4555     1538     1978      857
 b0 spill-asuser-64-cln |       26        0        0        2        0        0
 c4 fill-user-32        |     2862     2161     2798   191746   318115   435850
 c8 fill-user-64        |    45813   197781    89179   217668    63905    74281
 cc fill-user-32-cln    |     3802     2833     3733    10153    16419    19475
 d0 fill-user-64-cln    |      329    10105     4873    10603     4235     3649
 d8 fill-kern-64        |    62519    49943    63611    21824    28328    11693
108 syscall-32          |     2285     1634     2278      737      957      383
126 self-xcall          |      100        0        0        0        0        0

vct  name               |    cpu12    cpu13    cpu14    cpu15
------------------------+------------------------------------
 24 cleanwin            |     5435     4232     6302     6104
 41 level-1             |        0        0        0        0
 44 level-4             |        2        0        0        1
 45 level-5             |        0        0        0        0
 47 level-7             |        0        0        0        0
 49 level-9             |      100      100      100      100
 4a level-10            |        0        0        0        0
 4d level-13            |       15       11       22       11
 4e level-14            |        0        0        0        0
 60 int-vec             |     2813     2833     2738     2714
 64 itlb-miss           |     2636     1925     3133     3029
 68 dtlb-miss           |    90528    70639   107786   103425
 6c dtlb-prot           |      819      675      988      954
 84 spill-user-32       |   175768    39933     2811     2742
 88 spill-user-64       |        0   241348    96907   118298
 8c spill-user-32-cln   |      681      513      753      730
 90 spill-user-64-cln   |        0       42       16       20
 98 spill-kern-64       |    52158    40914    62305    60141
 a4 spill-asuser-32     |     1113      856     1251     1208
 a8 spill-asuser-64     |        0       64       16       24
 ac spill-asuser-32-cln |     3816     2942     4515     4381
 b0 spill-asuser-64-cln |        0        0        0        0
 c4 fill-user-32        |   170744    38444     2876     2784
 c8 fill-user-64        |        0   230381    92941   111694
 cc fill-user-32-cln    |     8550     3790     3612     3553
 d0 fill-user-64-cln    |        0    10726     4495     5845
 d8 fill-kern-64        |    51968    40760    62053    59922
108 syscall-32          |     1839     1495     2144     2083
126 self-xcall          |        0        0        0        0

例 2 CPU のフィルタリングを指定して trapset を使用する

-c オプションを使用すると、trapstat が有効になる CPU を制限できます。この例では、CPU 1 と、12 - 15 の CPU に制限します。

example# trapstat -c 1,12-15


vct  name               |     cpu1    cpu12    cpu13    cpu14    cpu15
------------------------+---------------------------------------------
 24 cleanwin            |     6923     3072     2500     3518     2261
 44 level-4             |        3        0        0        1        1
 49 level-9             |      100      100      100      100      100
 4d level-13            |       23        8       14       19       14
 60 int-vec             |     2559     2699     2752     2688     2792
 64 itlb-miss           |     3296     1548     1174     1698     1087
 68 dtlb-miss           |   114788    54313    43040    58336    38057
 6c dtlb-prot           |     1046      549      417      545      370
 84 spill-user-32       |    66551    29480   301588    26522   213032
 88 spill-user-64       |        0   318652   111239   299829   221716
 8c spill-user-32-cln   |      856      347      331      416      293
 90 spill-user-64-cln   |        0       55       21       59       39
 98 spill-kern-64       |    66464    31803    24758    34004    22277
 a4 spill-asuser-32     |     1423      569      560      698      483
 a8 spill-asuser-64     |        0       74       32       98       46
 ac spill-asuser-32-cln |     4875     2250     1728     2384     1584
 b0 spill-asuser-64-cln |        0        2        0        1        0
 c4 fill-user-32        |    64193    28418   287516    27055   202093
 c8 fill-user-64        |        0   305016   106692   288542   210654
 cc fill-user-32-cln    |     6733     3520    15185     2396    12035
 d0 fill-user-64-cln    |        0    13226     3506    12933    11032
 d8 fill-kern-64        |    66220    31680    24674    33892    22196
108 syscall-32          |     2446      967      817     1196      755

例 3 TLB 統計を指定して trapstat を使用する

-t オプションは、TLB ミスの処理に費やされる時間など、詳細な TLB 統計を表示します。次の例は、マシンが D-TLB ミスの処理だけで 14.1 パーセントの時間を費やしていることを示しています。

example# trapstat -t
cpu m| itlb-miss %tim itsb-miss %tim | dtlb-miss %tim dtsb-miss %tim |%tim
-----+-------------------------------+-------------------------------+----
  0 u|      2571  0.3         0  0.0 |     10802  1.3         0  0.0 | 1.6
  0 k|         0  0.0         0  0.0 |    106420 13.4       184  0.1 |13.6
-----+-------------------------------+-------------------------------+----
  1 u|      3069  0.3         0  0.0 |     10983  1.2       100  0.0 | 1.6
  1 k|        27  0.0         0  0.0 |    106974 12.6        19  0.0 |12.7
-----+-------------------------------+-------------------------------+----
  2 u|      3033  0.3         0  0.0 |     11045  1.2       105  0.0 | 1.6
  2 k|        43  0.0         0  0.0 |    107842 12.7       108  0.0 |12.8
-----+-------------------------------+-------------------------------+----
  3 u|      2924  0.3         0  0.0 |     10380  1.2       121  0.0 | 1.6
  3 k|        54  0.0         0  0.0 |    102682 12.2        16  0.0 |12.2
-----+-------------------------------+-------------------------------+----
  4 u|      3064  0.3         0  0.0 |     10832  1.2       120  0.0 | 1.6
  4 k|        31  0.0         0  0.0 |    107977 13.0       236  0.1 |13.1
=====+===============================+===============================+====
 ttl |     14816  0.3         0  0.0 |    585937 14.1      1009  0.0 |14.5

例 4 TLB 統計とページサイズ情報を指定して trapstat を使用する

-T オプションを指定することにより、trapstat はページサイズごとに分類された TLB ミスを表示します。この例では、CPU 0 は 8K ページでのユーザーモードの TLB ミスの処理に 7.9 パーセントの時間を費やしており、さらに 64K ページでのユーザーモードの TLB ミスの処理に 2.3 パーセントの時間を費やしています。

example# trapstat -T -c 0
cpu m size| itlb-miss %tim itsb-miss %tim | dtlb-miss %tim dtsb-miss %tim |%tim
----------+-------------------------------+-------------------------------+----
  0 u   8k|      1300  0.1        15  0.0 |    104897  7.9        90  0.0 | 8.0
  0 u  64k|         0  0.0         0  0.0 |     29935  2.3         7  0.0 | 2.3
  0 u 512k|         0  0.0         0  0.0 |      3569  0.2         2  0.0 | 0.2
  0 u   4m|         0  0.0         0  0.0 |       233  0.0         2  0.0 | 0.0
- - - - - + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - + - -
  0 k   8k|        13  0.0         0  0.0 |     71733  6.5       110  0.0 | 6.5
  0 k  64k|         0  0.0         0  0.0 |         0  0.0         0  0.0 | 0.0
  0 k 512k|         0  0.0         0  0.0 |         0  0.0       206  0.1 | 0.1
  0 k   4m|         0  0.0         0  0.0 |         0  0.0         0  0.0 | 0.0
==========+===============================+===============================+====
      ttl |      1313  0.1        15  0.0 |    210367 17.1       417  0.2 |17.5

例 5 エントリのフィルタリングを指定して trapset を使用する

-e オプションを指定することにより、trapstat は特定のトラップタイプの統計のみを表示します。このオプションを使用すると、特定のデータを探す際のプローブ効果を最小限に抑えられます。この例では、12 - 15 の CPU で dtlb-prot および syscall-32 トラップのみの統計を生成します。

example# trapstat -e dtlb-prot,syscall-32 -c 12-15
vct  name               |    cpu12    cpu13    cpu14    cpu15
------------------------+------------------------------------
 6c dtlb-prot           |      817      754     1018      560
108 syscall-32          |     1426     1647     2186     1142

vct  name               |    cpu12    cpu13    cpu14    cpu15
------------------------+------------------------------------
 6c dtlb-prot           |     1085      996      800      707
108 syscall-32          |     2578     2167     1638     1452

例 6 高いサンプリングレートを指定して trapstat を使用する

次の例では、-r オプションを使用して 1 秒あたりのサンプル数が 1000 のサンプリングレートを指定し、level-10 のトラップのみをフィルタリングします。また、-P オプションを指定すると、解析可能な出力が生成されます。

level-10 のイベント間でのタイムスタンプの違い (9,998,000 ナノ秒と 10,007,000 ナノ秒) に注意してください。これらの level-10 のイベントはシステムクロックに対応しており、それはデフォルトで 100 Hz (つまり、10,000,000 ナノ秒ごと) で動作します。

example# trapstat -e level-10 -P -r 1000
1070400 0 4a level-10 0
2048600 0 4a level-10 0
3030400 0 4a level-10 1
4035800 0 4a level-10 0
5027200 0 4a level-10 0
6027200 0 4a level-10 0
7027400 0 4a level-10 0
8028200 0 4a level-10 0
9026400 0 4a level-10 0
10029600 0 4a level-10 0
11028600 0 4a level-10 0
12024000 0 4a level-10 0
13028400 0 4a level-10 1
14031200 0 4a level-10 0
15027200 0 4a level-10 0
16027600 0 4a level-10 0
17025000 0 4a level-10 0
18026000 0 4a level-10 0
19027800 0 4a level-10 0
20025600 0 4a level-10 0
21025200 0 4a level-10 0
22025000 0 4a level-10 0
23035400 0 4a level-10 1
24027400 0 4a level-10 0
25026000 0 4a level-10 0
26027000 0 4a level-10 0

例 7 cpu_mondo 率がもっとも高い 3 つの CPU を表示します。

次のコマンドは、cpu_mondo 率がもっとも高い 3 つの CPU を表示します。

example% trapstat -k cpu_mondo -o 3 10 1
vct name                | cpu0 cpu1 cpu61
------------------------+----------------
9   immu-miss           |    0    0     0
24  cleanwin            |    0    0     0
31  dmmu-miss           |    0    0     0
41  level-1             |    0    0     0
46  level-6             |    0    0     0
49  level-9             |    0    0     0
4a  level-10            |  100   31    16
4d  level-13            |   23   15     8
4e  level-14            |  100   32    18
6c  dtlb-prot           |    0    0     0
7c  cpu_mondo           |   24   16     9
7d  dev_mondo           |    0    0     0
84  spill-user-32       |    0    0     0
8c  spill-user-32-cln   |    0    0     0
98  spill-kern-64       |  423  180   102
a4  spill-asuser-32     |    0    0     0
ac  spill-asuser-32-cln |    0    0     0
c4  fill-user-32        |    0    0     0
cc  fill-user-32-cln    |    0    1     0
d8  fill-kern-64        |  295  165    94
103 flush-wins          |    0    0     0
108 syscall-32          |    0    0     0
122 get-psr             |    0    0     0
127 gethrtime           |    0    0     0

例 8 複数の CPU を四分位数で集計する

次のコマンドは、レベル 10 率別に 96 の CPU を四分位数で集計します。

example% trapstat -O /tmp/t1 -e level-10 10 1
example% trapstat -I /tmp/t1 -A 4
vct name     | bin0 bin1 bin2 bin3
-------------+--------------------
4a  level-10 |  440  340  305  306

例 9 複数の CPU を集計およびソートする

次のコマンドは、コア ID 別に 96 の CPU を集計して、もっとも高い 4 つをソートします。

example% trapstat -A cor -e level-10 -k level-10 -o 4 10 1
vct name     |  cor514  cor549  cor542  cor521
-------------+--------------------------------
4a  level-10 |     197     120     111     106

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
人間が読める形式の出力
不確実
解析可能な出力
確実

関連項目

lockstat(1M), pmap(1), psrset(1M), psrinfo(1M), pbind(1M), ppgsz(1), getpagesizes(3C)

Sun Microelectronics UltraSPARC II User's Manual,』1997 年 1 月、STP1031

The SPARC Architecture Manual, Version 9 』1994 年、Prentice-Hall 出版

注意事項

有効になっている場合、trapstat は収集される情報の種類に応じて、さまざまなプローブ効果をもたらします。正確なプローブ効果はハードウェアの仕様によって異なりますが、次の表を大まかな指針として使用できます。

オプション
おおよそのプローブ効果
デフォルト
トラップごとに 3 - 5%
-e
指定されたトラップごとに 3 - 5%
-t-T
TSB でヒットする TLB ミストラップごとに 40 - 45%、TSB でミスする TLB ミストラップごとに 25 - 30%

これらのプローブ効果は、システム全体に対してではなくトラップごとです。たとえば、合計時間の 7% をトラップの処理に費やすシステムで、デフォルトのオプションを使って trapstat を実行すると、0.5% 未満のパフォーマンスの低下が起こります。合計時間の 5% を TLB ミスの処理に費やすシステムで、-t または -T オプションを指定して trapstat を実行すると、2.5% 以下のパフォーマンスの低下が起こります。

-t または -T オプションを指定して実行すると、%tim フィールドの計算時に trapstat はそのプローブ効果を考慮します。これにより、%tim フィールドが、trapstat の混乱させる存在に関係なく、所定のワークロードで TLB ミスの処理に費やしている時間の、かなり正確な指標であることが保証されます。

%tim フィールドには TLB ミスハンドラを実行する明示的なコストは含まれていますが、TLB ミストラップ (パイプライン効果、キャッシュ汚染など) の暗黙的なコストは含まれていません。これらの暗黙的なコストはトラップ率が上がるにつれてより重要になります。高い %tim 値 (50% 以上) が報告された場合、残りの時間の多くが TLB ミストラップの暗黙的なコストに充てられていることを正確に推測できます。

システム全体の低下が発生する可能性があるため、スーパーユーザーのみが trapstat を実行できます。

ベースとなる統計収集方法の制限のために、trapstat のインスタンスは一度に 1 つしか実行できません。