标签: profiling

如何转储Permgen?

我想把应用服务器的Permgen转储.

我不想使用,-XX:+TraceClassLoading -XX:+TraceClassUnloading因为我不想重新启动服务器,我也不想使用jconsole.

我有任何工具jmap(用于堆转储没有找到permgen的任何选项)来获得permgen,以便我只能提供pid.

profiling jvm permgen

22
推荐指数
3
解决办法
2万
查看次数

Chrome时间轴 - 如何确定"重新计算样式"日志条目的原因?

使用Chrome中的内置时间线记录器对页面进行概要分析,我看到重复的"重新计算样式"条目.他们没有明确的信息将它们链接到DOM元素或事件.

我怎样才能最好地确定这些条目的原因?

timeline profiling google-chrome

22
推荐指数
4
解决办法
2万
查看次数

session_start()需要非常长的时间

Mys网站工作非常缓慢(我对其原因一无所知).它基于Zend应用程序,我曾经制作了大约几十个这样的网站,所以我确信我的代码没问题.

我在服务器上安装了xdebugger,尝试对其进行分析并猜测是什么?php :: session_start()花了48.675秒.四十八秒半!这太不可思议了!这可能是什么原因?这是常见的操作,为什么它可以执行SO多长时间?如何修复这种配置编辑的行为?通过谷歌搜索,但没有找到好的答案(几乎所有地方都有问题,但没有答案).谢谢之前!

xdebugger分析结果

php performance session profiling zend-framework

22
推荐指数
3
解决办法
2万
查看次数

如何推荐Akka应用程序?

我有一个小的Akka应用程序,它在其actor之间传递许多消息,每个actor对它接收的数据进行一些计算.我想要的是分析这个应用程序,以查看代码的哪些部分占用大部分时间等等.

我试过VisualVM,但我真的不明白发生了什么.我添加了一个探查器输出的图片.

我的问题是

  • 例如,第一行是什么,为什么需要花费这么多时间?(scala.concurrent.forkjoin.ForkJoinPool.scan())
  • Akka应用程序可以因为它们的异步行为而被描述得很好吗?
  • 例如,我可以看到一个特定的actor(-type)对它收到的一个特定消息(-type)的工作时间有多长?
  • 是否还有其他最佳实践来分析Akka应用程序?

探查

profiling scala akka

22
推荐指数
3
解决办法
4113
查看次数

分析C#和mscorlib.ni.dll

我目前正在使用CPU采样分析控制台应用程序.操作系统是带有Microsoft Visual Studio Ultimate 2012 Update 4的Windows 8 Enterprise 64位.我看到34%的Exclusive Samples位于mscorlib.ni.dll中.然后在Modules视图中打开mscorlib.ni.dll,我看到所有调用都是对unknwon行进行的.

我首先使用ngen按照以下说明下载它们:http://blogs.msdn.com/b/visualstudioalm/archive/2012/12/10/creating-ngen-pdbs-for-profiling-reports.aspx但没有运气.尽管pdb存在于正确位置并且在VS选项上正确引用.

在此之后,我尝试用这个PS脚本获取所有可能的符号:http://knagis.miga.lv/gen_ngen_pdb.txt但仍然没有运气.即使pdb(仍然)存在.

有人已经有过这个问题吗?我已经看到另一个答案代码分析以提高性能:查看mscorlib.dll中的CPU周期?但根本没有解决......

恩里科

.net c# profiling native-code visual-studio-2012

22
推荐指数
1
解决办法
7179
查看次数

我的配置中哪些eslint规则很慢?

我有一个包含大约100条规则的配置,并且在我的项目上使用所有这些规则运行eslint大约需要10秒.我想确定最慢的规则并消除其中的一些规则.我该怎么做呢?是否有任何用于eslint的分析器工具?

javascript profiling configuration-files eslint

22
推荐指数
2
解决办法
3741
查看次数

gprof产生空输出

我正在运行Ubuntu 16.10并尝试使用gprof配置程序.我用标志编译,-pg程序是单线程的.实际的编译命令是:

g++ -I. -std=c++11 -Wall -Wextra -O3 -pg -fPIC -Wno-unused-parameter -c -o build/obj/performance/stencil_application.o test/performance/stencil_application.cpp
g++ -I. -std=c++11 -Wall -Wextra -O3 -pg -Wno-unused-parameter build/obj/performance/stencil_application.o -o build/test/performance/stencil_application
Run Code Online (Sandbox Code Playgroud)

运行时程序需要几秒钟才能完成,并生成一个名为gmon.out的文件.但是,当我运行时gprof ./build/test/performance/stencil_application,我得到的输出不包含数字.我只得到表格标题和不同字段的解释,如下所示:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ts/call  Ts/call  name    

 %         the percentage of the total running time of the
time       program used by this function.

cumulative a running sum of the number of seconds accounted
 seconds   for …
Run Code Online (Sandbox Code Playgroud)

ubuntu profiling gprof

22
推荐指数
1
解决办法
5017
查看次数

Python统计信息:如何将其写入(人类可读)文件

我正在使用Python的热门分析器:http://docs.python.org/2/library/hotshot.html

它显示了如何打印统计数据:

stats.print_stats(20)
Run Code Online (Sandbox Code Playgroud)

但是我怎么把它变成文件呢?我不知道如何获取信息,因此我可以使用write()将其写入文件.

编辑:

我喜欢与以这种方式打印时相同的易读性结果:

stats = hotshot.stats.load("stones.prof")
stats.strip_dirs()
stats.sort_stats('time', 'calls')
stats.print_stats(20) 
Run Code Online (Sandbox Code Playgroud)

所以它看起来像这样:

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    3.295    3.295   10.090   10.090 pystone.py:79(Proc0)
Run Code Online (Sandbox Code Playgroud)

(所以当我打开stones.prof时它看起来不像)

python file-io profiling

21
推荐指数
2
解决办法
1万
查看次数

监视Node.js进程中的最大内存消耗

我正在寻找一种跨平台的方法来可靠地监视Node.js进程中的最大内存消耗,无论是否存在泄漏.

我的案例中的过程都是真实的应用程序和综合测试.

我希望它能起作用

process.on('exit', () => {
  console.log('Max memory consumption: ' + ...);
});
Run Code Online (Sandbox Code Playgroud)

有可能以某种方式跟踪内存消耗node --trace_gc ...,但这导致输出难以阅读(并且可能难以以编程方式分析).此外,当脚本结束太快时,即使RAM使用量很大,也不会发生GC.

从我在这个问题上看到的情况来看,通常memwatch建议如下:

require('memwatch-next').on('stats', stats => {
  console.log('Max memory consumption: ' + stats.max);
});
Run Code Online (Sandbox Code Playgroud)

但在我的情况下,它仅在GC已经发生或根本没有触发时触发,因此它对于确定RAM消耗峰值是无用的.

node-inspector如果可能的话,我宁愿避免使用GUI工具.

这个最大内存消耗是否可以从应用程序本身或单独的CLI(跨平台)中可靠地检索?

javascript profiling node.js

21
推荐指数
2
解决办法
2125
查看次数

Android Studio CPU Profiler - 开始录制应用程序启动

我希望在冷启动我的应用程序时获得方法跟踪.

根据CPU Profiler文档,我需要点击上的Record按钮CPU Profiler开始方法跟踪录制,但是我希望从新应用程序进程开始的瞬间在应用程序上进行此录制.

我尝试使用"配置文件"工具栏按钮而不是"运行"按钮运行我的应用程序,但这似乎没有做任何事情,我没有开始录制.

我仍然可以使用旧的方法跟踪使用Debug.startMethodTracing()/ Debug.stopMethodTracing()但是生成与Studio中的旧接口兼容的跟踪文件,我如何对新接口执行相同的操作?

android profiling android-studio android-studio-3.0 android-profiler

21
推荐指数
0
解决办法
869
查看次数