jjzjj

profiling

全部标签

windows - XPerf中如何定位空闲时间(以及网络IO时间等)?

假设我有一个人为设计的程序:#includevoiduseless_function(){Sleep(5000);}voiduseful_function(){//...dosomeworkuseless_function();//...dosomemorework}intmain(){useful_function();return0;}目标:我希望探查器告诉我useful_function()正在不必要地调用useless_function(),它没有明显的等待原因。在XPerf下,这不会出现在我的任何图表中,因为对WaitForMultipleObjects()的调用似乎被计入了

windows - 使用 nvprof 和 Visual Profiler 进行 GPU 功耗分析

我可以通过nvidia-smi查看我的K20C的功率变化,如下图所示:==============NVSMILOG==============Timestamp:FriJan3111:45:212014DriverVersion:332.21AttachedGPUs:2GPU0000:04:00.0TemperatureGpu:28CPowerReadingsPowerManagement:SupportedPowerDraw:16.12WPowerLimit:225.00WDefaultPowerLimit:225.00WEnforcedPowerLimit:225.00WMinPo

c# - ICorProfilerCallback2 : CLR profiler does not log all Leave calls

我正在尝试编写一个记录进程中所有.Net方法调用的分析器。目标是使其具有高性能,并在内存中保留最后5-10分钟(固定缓冲区,循环覆盖旧信息),直到用户触发将该信息写入磁盘。预期用途是追踪很少重现的性能问题。我从https://github.com/appneta/SimpleCLRProfiler的SimpleCLRProfiler项目开始.分析器使用.Net分析的ICorProfilerCallback2回调接口(interface)。我让它在我的环境中编译和工作(Win8.1、.Net4.5、VS2012)。但是,我注意到有时记录了Enter调用的Leave调用会丢失。Consol

windows - 如何在 64b 操作系统上执行 Xperf 调用堆栈捕获?

我已经从WindowsSDK安装了Xperf性能分析器,并使用以下命令捕获了文档中描述的跟踪:xperf-onSysProf-stackwalkprofile仍然,堆栈跟踪不包含任何调用堆栈数据。我的平台是Vista64b。在64bWindows上捕获调用堆栈是否需要任何特殊设置或技巧? 最佳答案 经过更多的搜索,我找到了一个设置:设置注册表值DisablePagingExecutive=1并重新启动(参见WindowsPerformanceToolkitFAQ)。虽然这听起来不错,但它似乎对我的系统没有帮助,仍然没有调用堆栈。联系

c# - EF6 SQLQuery 非常慢,但数据库非常快

我遇到了一个性能问题,我们已经做了很多分析,但还是卡住了。希望你们中的一个人以前见过这个。我正在调用DbContext.Database.SqlQuery数据库部分需要3毫秒,但完整执行需要9秒。我们使用EFProfiler发现了这一点,我们还在SQLServerManagementStudio中直接运行SQL,它是即时的。我们还使用了glimpse,但无法深入了解该过程。结果类型不是模型中的实体,因此我们确信不涉及跟踪。我们还知道这不是针对上下文执行的第一个查询,因此我们不会为此查询支付EF启动成本。我们尝试了.net分析器,但在运行时遇到了很多问题,因此我们决定只问一下。关于如何深

c# - 是否可以将 visual studio 性能分析与服务结构一起使用?

希望这很简单......我想对我的服务结构集群进行性能分析。到目前为止我:-在不调试的情况下转到启动诊断工具。-通过向导选择我的服务结构项目作为启动项目。-然后它询问要包含哪些项目,所以我包含我的服务exe-然后我选择检测(我想要方法级计时)然后我点击开始,我的exe立即崩溃。我认为这是因为visualstudio试图在服务结构上下文之外将我的“服务”作为独立的exe运行。虽然不知道该怎么办......堆栈跟踪是:调试:激活选项未处理的异常:System.Fabric.FabricConnectionDeniedException:未授权连接--->System.Runtime.Int

c# - 第三方库中麻烦的 GC.collect() 调用

在分析我的应用程序(C#、.NET4)时,我注意到我正在使用的第三方库显式调用了GC.Collect()。这非常烦人,因为它有时会对我的应用程序性能产生巨大影响,因为对该库的一些调用最终会陷入巨大的循环:花在GC.Collect上的时间占总执行时间的80%以上。当然,我向库维护者报告了这种行为(库不是开源的),但是当他们正在开发新版本时,我想优化我的应用程序。我能做什么?我尝试通过将GCSettings.LatencyMode设置为GCLatencyMode.LowLatency来配置GC(当然,仅在执行库调用期间),但无济于事。我宁愿避免fork我的过程。有什么想法吗?

c# - VS2013 : Memory profiler doesn't show anything on a specific project

我想使用visualstudio2013ultimate的内存分析器来分析WPF应用程序。但似乎有一个问题:运行探查器后没有可用/显示的数据。我使用Windows8.1x64我收到这个错误:DA0002:ItappearsthatthefilewascollectedwithoutproperlysettingtheenvironmentvariableswithVSPerfCLREnv.cmd.Symbolsformanagedbinariesmaynotresolve.奇怪的是:CPU分析适用于此项目,而内存分析似乎适用于其他项目(我创建了一个带有空窗口的新WPF项目并在那里测试了

c# - Performans & Diagnostics - VS2013 Ultimate 中不适用的工具

我在Windows8.1Pro上使用VisualStudio2013Ultimate,并希望使用探查器分析我的Web项目的性能指标。但是Performances&DiagnosticTools部分中的许多工具都被禁用了。我想使用内存使用率和CPU使用率,但它们被列为“不适用的工具”我该如何使用这个工具??谢谢你的帮助.. 最佳答案 “可用工具”基于项目类型。ASP.NET项目只能使用性能向导工具。无法使其他工具适用于不受支持的项目类型。 关于c#-Performans&Diagnosti

c# - 使用 Stopwatch 分析 .NET 应用程序

似乎没有可以逐行分析的免费*.NET性能分析器。因此,我正在研究使用Stopwatch进行分析。*免费即自由,即许可包括商业应用。编辑:为了回应那些告诉我“购买分析器”的人,我愿意,但如果我能花那么多钱,我会把它花在别的东西上。我试图说服我的老板,一个剖析器是值得的,但运气不佳。这个问题主要是出于好奇。我永远不会将秒表视为真正分析器的替代品。我有一个小测试应用程序(用C#编写),用于测量在每行基础上使用秒表时的性能差异。测试代码是这样的:intn=100;BigIntegerf=1;for(inti=n;i>1;i--){f*=i;}这是完整的代码:http://pastebin.co