性能分析和调优工具简介 总会遇到一个时候你会想提高程序执行效率,想看看哪部分耗时长成为瓶颈,想知道程序运行时内存和CPU使用情况。这时候你会需要一些方法对程序进行性能分析和调优。 By Context
jmap是比较地道本土的堆分析工具,应该掌握,下面讲讲如何运用。 // 打印jvm的堆状况,主要是年轻代和老年代信息 jmap -heap
TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. T
你是否看见过java.lang.OutOfMemory这些类似的错误信息?判断一个系统好坏,高性能非常重要。而阻碍系统性能提高的第一大元凶就是内存问题,更糟糕的是如果GC不能完全释放无用的内存,这会导致内存溢出,从而产生更严重的后果。 找出内存问题的元凶是一件非常困难的任务,幸运的是,heapaudit可以解决这个问题。
DoctorJ 是一个用来分析 Java 文档的工具,其精度和复杂度基于源码级别,超过了 javadoc 的功能。 项目地址: http://www.incava.org/projects/java/doctorj
静态分析工具—FindBugs 什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不
heaper 是一款Immunity Debugger插件,主要设计用来分析windows环境下的堆结构,辅助windows堆溢出和其他一些复杂堆漏洞利用程序的编写。有了heaper 你可以快速察看堆
国外安全研究人员将一些基于Pin动态分析框架编写出来的工具开源到GitHub,并在其博客上讲解各工具的技术原理。其中包括格式化字符串检测、溢出检测、UAF检测、内存Fuzzing及污点追踪等多项自动化程序分析功能。
性能优化权威指南》介绍了一款分析 GC 日志的离线分析工具, 不过官网上没有下载的地方, 需要自己从 SVN 上拉下来编译。 GChisto 以表格和图形化的方式展示 GC 次数、 持续时间等, 提高了分析 GC 日志的效率。
往往很难找到适合自己的大数据收集与分析工具。然而,混乱的时局之下已经有多种方案脱颖而出,证明其能够帮助大家切实完成大数据分析类工作。下面我们将整理出一份包含十款工具的清单,从而有效压缩选择范畴。 1.
LightProfiler 为 Oracle 数据库提供性能分析的功能。通过 扩展SQL跟踪 文件 生成 详细的资源 概况信息,包含响应时间的消耗(事件和游标等),数据文件的使用情况,错误分析等等。 项目主页:
Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过
YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化。 YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修改意见。
SlimTune 是一个 .NET 应用的分析和性能优化工具,提供很多诸如远程分析、实时结果、多插件支持的可视化界面。 项目主页: http://www.open-open.com/l
Parker是一个样式表分析工具。 它在您的样式表上运行度量标准,并报告他们的复杂性。 安装 Install with npm: npm install -g parker 用法 测量本地样式表 parker
Druid 是一个针对在线分析处理(OLAP)事件数据而设计的开源数据存储分析工具。它提供了低延迟(实时)数据摄取、灵活的数据探索及快速的数据聚合功能。现存 的已实施的Druid项目已经能处理数万亿的
ANTLR(ANother Tool for Language Recognition)它是Java开发的词法分析工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序。作为翻译程序的一部分,你可以使用简单的操
com/download/rythem0523.dmg Rythem以Qt为基础框架,你可以到github上获取其源代码: https://github.com/AlloyTeam/Rythem 以下为Rythem
SlimTune 是一个 .NET 应用的分析和性能优化工具,提供很多诸如远程分析、实时结果、多插件支持的可视化界面。 项目主页: http://www.open-open.com/l
cAdvisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。 cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独