优化、分析
youling_lh
这个作者很懒,什么都没留下…
展开
-
使用 google-perftools 剖析程序性能瓶颈
简介: google-perftools 是一款优秀的 Linux C/C++ 程序的性能剖析及优化工具,它提供了将目标程序运行时所消耗的 CPU 时间片进行剖析和图形化输出剖析结果的功能。本文将从零开始,一步一步引导读者搭建并运行一个 google-perftools 的剖析环境,并用一个示例来演示如何使用该工具找到目标程序的性能瓶颈。发布日期: 2010 年 12 月 16 日转载 2013-08-12 00:20:58 · 1116 阅读 · 1 评论 -
Java内存调优经验总结
JVM 调优,是个很简单也很复杂的话题,由于经常遇到这类问题,在这里总结一下。先从解决bug开始,当Java程序申请内存,超出VM可分配内纯的时候,VM首先可能会GC,如果GC完还是不够,或者申请的直接超够VM可能有的,就会抛出内 存溢出异常。从VM规范中我们可以得到,一下几种异常。java.lang.StackOverflowError:(很少)java.lang.OutOfMemo转载 2013-08-12 23:02:23 · 720 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具
Perf 简介Perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。最初的时候,它叫做 Performance counter,在 2.转载 2013-08-14 19:33:06 · 645 阅读 · 0 评论 -
cpu iowait高排查的case
在之前的常见的Java问题排查方法一文中,没有写cpu iowait时的排查方法,主要的原因是自己之前也没碰到过什么cpu iowait高的case,很不幸的是在最近一周连续碰到了两起cpu iowait的case,通过这两起case让自己学习到了很多系统层面的知识,也许这些知识对于熟悉系统的人来说没什么,不过对于写Java的同学我觉得还是值得分享下(由于Java基本不用于存储类型的场景,所以转载 2013-11-18 21:40:50 · 9791 阅读 · 0 评论 -
通过blktrace, debugfs分析磁盘IO
前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debugfs找到发生IO的文件,然后再结合自己的应用程序,分析出这些IO到底是谁产生的,最终目的当然是尽量减少不必要的IO干扰,提高程序的性能。blktrace是Jens Axobe写的一个跟踪IO请转载 2013-11-18 21:42:03 · 1472 阅读 · 0 评论 -
常见的Java问题排查方法
以下是Java应用在运行时常见的一些问题,总结了运行时黑盒方式的一些排查方法,也希望看到的同学能给予补充,无论是补充碰到的问题,还是补充解决方法。类装载的相关问题写过Java代码的同学估计都碰到过ClassNotFoundException/NoClassDefFoundError/NoSuchMethodException(还有一个常见的ClassCastException就不在这里转载 2013-11-18 21:51:01 · 1889 阅读 · 0 评论 -
Java直接内存访问的技巧
ava被设计成一个安全,可管理的环境,然而 Java HotSpot有一个后门,提供了对低级别的,对直接内存和线程的操作。这个后门是—-sun.misc.Unsafe。这个类在JDK中有广泛的应用,例如,java.nio和java.util.concurrent。很难想象在日常开发中使用这些危险的,不可移植和未经校验的API。然而,Unsafe提供一种简单的方法来观察HotSpot JVM内部的一转载 2013-11-20 00:55:08 · 1728 阅读 · 0 评论