Solaris 10上的性能调优的一些总结
知道了是filebench应用导致了这么多的sys call, 但我们不知道是哪一个具体的sys call, 依然可以通过dtrace来查找:
# dtrace -n 'syscall:::entry /execname == "filebench"/ { @[probefunc] = count(); }'
dtrace: description 'syscall:::entry ' matched 229 probes
^C
lwp_continue 4
lwp_create 4
mmap 4
schedctl 4
setcontext 4
lwp_sigmask 8
nanosleep 24
yield 554
brk 1590
pwrite 80795
lwp_park 161019
read 324159
pread 898401
semsys 1791717
我们可以知道semsys sys call调用得最多, 但不知道在应用中是通过应用的哪些函数调用和怎样调用的, 依然可以通过dtrace。
# dtrace -n 'syscall::semsys:entry /execname == "filebench"/ { @[ustack()] = count(); }'
dtrace: description 'syscall::semsys:entry ' matched 1 probe
^C
libc.so.1`_syscall6+0x1c
filebench`flowop_start+0x408
libc.so.1`_lwp_start
10793
libc.so.1`_syscall6+0x1c
filebench`flowop_start+0x408
libc.so.1`_lwp_start
10942
libc.so.1`_syscall6+0x1c
filebench`flowop_start+0x408
libc.so.1`_lwp_start
11084
这样我们可以知道filebench的flowop_start函数调用此semsys sys call最多,我们就可以着手去寻找这个flowop_start函数看是否有改进的方法。


















文章评论
共有 位CH网友发表了评论 查看完整内容