【发布时间】:2017-04-14 04:11:10
【问题描述】:
在 Linux 上,我们有一个名为 mallinfo() 的(GNU C 库)函数,它为您提供了一些与内存分配相关的数字:
struct mallinfo {
int arena; /* Non-mmapped space allocated (bytes) */
int ordblks; /* Number of free chunks */
int smblks; /* Number of free fastbin blocks */
int hblks; /* Number of mmapped regions */
int hblkhd; /* Space allocated in mmapped regions (bytes) */
int usmblks; /* Maximum total allocated space (bytes) */
int fsmblks; /* Space in freed fastbin blocks (bytes) */
int uordblks; /* Total allocated space (bytes) */
int fordblks; /* Total free space (bytes) */
int keepcost; /* Top-most, releasable space (bytes) */
};
奇怪的是,这些值通常是 32 位整数 (!);好吧,那真的不行,尤其是对于以字节数给出的值(例如fordblks)。
我猜这在某种程度上已被弃用,并且可以使用其他一些工具来获取相同的信息。那个替代设施是什么?
【问题讨论】:
标签: linux memory-management malloc