加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

搞定 Perf 和 Gpertools

发布时间:2021-04-20 17:19:44 所属栏目:外闻 来源:互联网
导读:是幸福的,尤其是在发生问题的时候。永远忘不了在Windows下应用发生问题时那种无助的感觉。 Java提供了非常多的工具来应对故障排查、性能分析,比如jstat、jmap、jmc等。但大多数情况下,资源的瓶颈在操作系统上。如果宿主机并不能正常工作,那么在之上进行

是幸福的,尤其是在发生问题的时候。永远忘不了在Windows下应用发生问题时那种无助的感觉。

Java提供了非常多的工具来应对故障排查、性能分析,比如jstat、jmap、jmc等。但大多数情况下,资源的瓶颈在操作系统上。如果宿主机并不能正常工作,那么在之上进行各种Java的应用分析就会变得没有意义。皮之不存毛将焉附,就是这个道理。

要做性能分析,Linux下有一个非常好用的工具,叫做perf。几乎每个发行版都有它的安装包。perf诞生于2009年,是一个内核级的工具;另外,还有一个工具叫做gperftools,是google的产品,是一个应用级别的产品。

虽然它们都有perf字样,但使用场景和处理的问题也是不一样的。

1. perf:CPU暴涨问题排查

顾名思义,perf是做性能分析用的。perf支持两种模式,计算模式和采样模式。比如,perf stat使用的是计算模式,而perf record采用的是采样模式。拿采样来说,它的原理是这样的:每隔一个固定的时间,产生一个中断,然后统计对应的pid和函数。采样就预示着与实际运行情况并不能保持一致,但如果一个函数运行的时间越长,被时钟中断的机会就越大。鉴于perf最终显示的是统计值,所以它的测量结果是高度可信的。

通过包管理工具可以很容易的获取perf。比如在centos下,直接通过yum install perf进行安装。perf提供了非常多的命令,我们可以直接输入perf输出这些选项。

Perf的功能非常多,常用的有perf list、perf stat、perf top、perf record、perf report等。下面以几个常见的例子,来说明它的应用场景。

使用下面的脚本,使得某一核CPU使用飙升到100%。

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读