Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何输出诊断工具分析的内存使用情况?_Performance_Visual Studio 2017_Memory Consumption - Fatal编程技术网

Performance 如何输出诊断工具分析的内存使用情况?

Performance 如何输出诊断工具分析的内存使用情况?,performance,visual-studio-2017,memory-consumption,Performance,Visual Studio 2017,Memory Consumption,Microsoft Visual Studio 2017提供。 使用这个工具,我们可以在程序运行的任何时候读取所使用的内存,这是非常有用的。 但是,必须手动读取该读数 我想解决的最初问题是。 如果我可以从诊断工具中输出内存使用量和时间,那么我可以编写一个程序来查找某个时间间隔内的峰值内存使用量,其中记录每个时间间隔以解决一个实例 我知道诊断工具测量的内存实际上是类的,而我真正想知道的是类的值。然而,这是可以接受的,因为这两个值非常接近(例如,PeakPagedMemorySize64=12723

Microsoft Visual Studio 2017提供。 使用这个工具,我们可以在程序运行的任何时候读取所使用的内存,这是非常有用的。 但是,必须手动读取该读数

我想解决的最初问题是。 如果我可以从诊断工具中输出内存使用量和时间,那么我可以编写一个程序来查找某个时间间隔内的峰值内存使用量,其中记录每个时间间隔以解决一个实例


我知道诊断工具测量的内存实际上是类的,而我真正想知道的是类的值。然而,这是可以接受的,因为这两个值非常接近(例如,
PeakPagedMemorySize64=1272377344字节
PeakWorkingSet64=1225867264字节
)。

这是Visual Studio中性能分析工具的工作。Diagnostics(诊断)窗口显示一个简化的性能分析视图,该视图仅在调试期间可用。如果在内存中唤醒内存快照,还可以在诊断工具中找到每种类型使用的内存tab@PanagiotisKanavos我可以通过程序唤醒内存快照吗?我想每秒钟都拍一次快照。不,但诊断工具是一种简单的分析方法。分析工具的功能要强大得多,既可以对捕获每个分配的代码进行分析,也可以对样本进行分析并获取快照?例如,您可以使用一个库来记录计划中的多个性能指标。这更适合于监控生产版本。Application Insights以类似的方式工作,但将其指标发送到Azure。或者你应该寻找GCs,而不是峰值内存。如果您的应用程序生成了大量临时对象和字符串,那么即使在诊断工具中也会看到锯齿形,每次执行GC时都会下降。我想知道我的程序需要多少内存来解决一个实例(我总共有734个实例)。我的程序使用库ILOG.CPLEX.dll中的函数来求解整数线性程序。这个图书馆对我来说是个黑匣子,所以我不能在图书馆里使用地面军事系统。从Diagnostics窗口中,我可以看到我的程序使用了多少内存,但我想知道734实例中每个实例的内存使用情况。这就是为什么我想每秒自动创建快照。