Adr*_*Liu 5 java profiling yourkit
我知道Yourkit可以测量Thread.sleep()之类的方法的时间,但是unsafe.park本机方法又如何呢?波纹管是采样设置:
walltime = java.io.RandomAccessFile:readBytes(byte [],int,int)walltime = java.io.RandomAccessFile:read()walltime = java.io.RandomAccessFile:write(int)walltime = java.io.RandomAccessFile:writeBytes (byte [],int,int)walltime = java.net.SocketInputStream:socketRead0(java.io.FileDescriptor,byte [],int,int,int)walltime = java.net.SocketOutputStream:socketWrite0(java.io.FileDescriptor ,byte [],int,int)walltime = java.lang.Thread:sleep(*)
sample_period_ms = 20
似乎unsafe.park()没有使用walltime,因此它必须是CPU时间。根据Yourkit文档,CPU时间是该方法花费的CPU实际时间,而不仅仅是该方法进入和退出之间的时间。
Yourkit展示了很多时间都花在park()方法上,但是我认为CPU并没有花很多时间在park()方法上。您能确认一下吗?谢谢。
小智 4
默认情况下,YourKit 分析器不显示 Unsafe.park()。Profiler 代理测量时间,但 UI 不显示它。要更改此设置,请在 yjp.ini 中指定 -Dyjp.zero.time.methods=false 并重新启动探查器 UI。
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |