我想把应用服务器的Permgen转储.
我不想使用,-XX:+TraceClassLoading -XX:+TraceClassUnloading因为我不想重新启动服务器,我也不想使用jconsole.
我有任何工具jmap(用于堆转储没有找到permgen的任何选项)来获得permgen,以便我只能提供pid.
使用Chrome中的内置时间线记录器对页面进行概要分析,我看到重复的"重新计算样式"条目.他们没有明确的信息将它们链接到DOM元素或事件.
我怎样才能最好地确定这些条目的原因?
Mys网站工作非常缓慢(我对其原因一无所知).它基于Zend应用程序,我曾经制作了大约几十个这样的网站,所以我确信我的代码没问题.
我在服务器上安装了xdebugger,尝试对其进行分析并猜测是什么?php :: session_start()花了48.675秒.四十八秒半!这太不可思议了!这可能是什么原因?这是常见的操作,为什么它可以执行SO多长时间?如何修复这种配置编辑的行为?通过谷歌搜索,但没有找到好的答案(几乎所有地方都有问题,但没有答案).谢谢之前!

我有一个小的Akka应用程序,它在其actor之间传递许多消息,每个actor对它接收的数据进行一些计算.我想要的是分析这个应用程序,以查看代码的哪些部分占用大部分时间等等.
我试过VisualVM,但我真的不明白发生了什么.我添加了一个探查器输出的图片.
我的问题是

我目前正在使用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周期?但根本没有解决......
恩里科
我有一个包含大约100条规则的配置,并且在我的项目上使用所有这些规则运行eslint大约需要10秒.我想确定最慢的规则并消除其中的一些规则.我该怎么做呢?是否有任何用于eslint的分析器工具?
我正在运行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) 我正在使用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时它看起来不像)
我正在寻找一种跨平台的方法来可靠地监视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(跨平台)中可靠地检索?
我希望在冷启动我的应用程序时获得方法跟踪.
根据CPU Profiler文档,我需要点击上的Record按钮CPU Profiler开始方法跟踪录制,但是我希望从新应用程序进程开始的瞬间在应用程序上进行此录制.
我尝试使用"配置文件"工具栏按钮而不是"运行"按钮运行我的应用程序,但这似乎没有做任何事情,我没有开始录制.
我仍然可以使用旧的方法跟踪使用Debug.startMethodTracing()/ Debug.stopMethodTracing()但是生成与Studio中的旧接口兼容的跟踪文件,我如何对新接口执行相同的操作?
android profiling android-studio android-studio-3.0 android-profiler