Yourkit 学习笔记-Start CPU profiling. Sampling, tracing, call counting.
来源:互联网 发布:麻将至尊王软件 编辑:程序博客网 时间:2024/05/22 15:53
Sampling
该模式会定期的访问栈,评估出运行较慢的代码。该模式没有方法的调用次数记录,仅有cpu时间。该模式是在进行提供瓶颈分析中最好的模式,对服务器额外开销最小。
在该模式中可以进行相关配置。(Simpling和tracing都可以进行相关配置)
在上图中,可以对要监控的类或者方法进行系统时间监控。
在上面的对话框中,可以输入多行代码,格式如下:
walltime=<fully qualified class name> : <method name> ( <comma-separated parameter types> ) or walltime=<fully qualified class name>
这样配置完成后,在配置中的方法将会显示系统时间(walltime),其他方法还是显示CPU时间。
在上述配置中支持通配符*,
walltime=com.foo.bar: print*(*)
上面的代码意思是,记录com.foo.bar中的以print开头的所有方法的系统时间(walltime)
PS:在simpling模式中,默认使用系统时间记录的只有I/O methods
采样时间的设置也是通过上面的对话框设置的
sampling_period_ms=<time in milliseconds>
sampling_period_ms=20 20毫秒一采样
上述配置存储在了
/.yjp/sampling.txt
Tracing
应用Tracing模式,被监控应用的每一个方法都会被转化成字节码记录其消耗CPU的情况。方法调用次数和CPU时间都被记录下来。
但是tracing模式对服务器影响较大。
被检测服务的方法越多,对服务器性能影响越大
该模式的设置除了包含了Sampling模式的设置外,还有一些其他的配制方法,具体如下:
adaptive tracing 模式是开启的
adaptive = ture
默认存储在/.yjp/tracing.txt
Call counting
最轻量级的CPU性能分析模式,对服务器的性能影响几乎为零
该模式技术不一定完全精确。为了能够保证对服务器机会为零的性能影响,
该模式没有应用任何locks和test-and-set 的atomic操作。因此如果同一个方法是多线程的,同时在不同CPU的不同核上调用的时候,就出发生计数错误。
该模式不支持调用计数的auto activity mode,不收集hight-level-statistics
开始监控后,实时看到的结果只是CPU的基本信息,要想查看详细信息,保存快照后,查看快照
- Yourkit 学习笔记-Start CPU profiling. Sampling, tracing, call counting.
- Yourkit 学习笔记-Start CPU profiling. Sampling, tracing, call counting.
- Yourkit 学习笔记-CPU Usage telemetry
- Yourkit 学习笔记-CPU Usage telemetry
- Soot 学习笔记 8:More on profiling
- UE4 CPU Profiling
- 虚幻4:优化 CPU Profiling
- 【学习笔记】Mysql中通过profiling定位query性能瓶颈
- Soot学习笔记(1)-Adding profiling instructions to applications
- Selenium Start--学习笔记
- Perl profiling笔记
- Android framework学习笔记 -- Google tracing的研究
- 流体力学学习笔记3--Adaptively sampling particle fluids
- GIBBS SAMPLING FOR THE UNINITIATED 的学习笔记
- Word2Vec学习笔记(四)——Negative Sampling 模型
- Rejection sampling 笔记
- OPAL学习笔记 - Incoming Call
- OPAL学习笔记 - Outgoing Call
- java:static、final关键字以及初始化问题
- XML的概念,作用,及试用
- 1084: 【循环】数根
- 算法问题[待解决]
- spider工具类
- Yourkit 学习笔记-Start CPU profiling. Sampling, tracing, call counting.
- 回调机制详解
- QT开发过程问题总结
- 动态设置view的padding和margin值
- Hadoop集群环境安装
- php Composer 加速
- Java类的初始化顺序
- LeetCode_链表操作1—Swap Nodes in Pairs
- Apache与Nginx的优缺点比较