【发布时间】:2021-02-05 11:17:32
【问题描述】:
【问题讨论】:
-
看起来像是已用堆大小/堆大小 (41/57 = 72%)。理想情况下,在一个高效编写的程序中,它应该是 100% 或接近 100%,因为这意味着所有 malloc 的内存都被实际使用,而不是简单地分配但没有使用
-
为什么 100% 更好?因为 malloc 的内存不可用于其他程序。考虑一台具有 4GB 内存的 PC,而您的堆为 3GB——只剩下 1GB 的可用 RAM。但是,如果堆使用率只有 10%,这意味着您的程序仅使用 300MB,但分配(使其他程序无法使用)3GB 浪费了 2.7GB 未使用和不可用的 RAM
-
@slebetman 你的措辞让我困惑了一会儿。我没有意识到你提出问题是为了修辞而不是问!