我正在尝试绘制一个描绘进程内存消耗与时间的图表。在从SO获取帮助后,我能够消耗内存并使用Qt绘制图形。为了显示内存中的微小变化,我正在以字节为单位缩放Y轴。
我的问题是,通常消耗的内存是一个非常大的值,可以在我的图表中展示,它会从可见区域射出。
我研究here如何使用对数标度来避免这个问题。但这会导致另一个问题:
经过一段时间后,通常情况下,进程会在内存初始化时稳定下来,并且与此进程消耗的总内存相比,内存消耗的任何进一步变化都是非常小的值。因此,由于我正在进行缩放的日志,因此这些更改在我的图表中并不真正可见。但我的主要目的是以图形格式展示总内存消耗的这种变化。
我的方法是错误还是有更好的方法来实现这一目标?
在Qt / C ++ / qml中实现,但非常欢迎通用的想法。
例如
时间:0秒| 消费:0字节
时间:1秒| 消费:1212120字节
时间:2秒| 消费:1212520字节
时间:3秒| 消费:1212720字节
..消费在这段时间内稳定下来 - 现在只有很小的变化 -
时间:20秒| 消费:1212890字节
时间:21秒| 消费:1212893字节
时间:22秒| 消费:1212895字节
答案 0 :(得分:2)
以下是一种方法:
答案 1 :(得分:2)
分数幂(例如平方根)可能是一个考虑而不是对数。
忽略第一个值。如果时间0的值始终为0,则可以考虑忽略它。它显着抵消了您的数据集。然后图表上的y-min可以是1212120,看起来会更好:
显示更改(时间x处的值 - 时间x-1处的值)而不是实际值(时间x处的值)也可能是一个好主意。