linux – 支持64位的mallinfo替代品?

linux – 支持64位的mallinfo替代品?,第1张

概述在 Linux上,我们有一个名为 mallinfo的(GNU C库)函数,它为您提供了一些与内存分配相关的数字: struct mallinfo { int arena; /* Non-mmapped space allocated (bytes) */ int ordblks; /* Number of free chunks */ 在 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).

我猜这是以某种方式被弃用,并且其他一些设施可用于获取相同的信息.什么是替代设施?

解决方法 使用malloc_info().你需要解析它的xml输出.
从 malloc_info man page:

The malloc_info() function is designed to address deficIEncIEs in
malloc_stats(3) and mallinfo(3).

malloc_info的源代码是例如
 可用here.所有变量都使用size_t存储并相应打印出来,它应该适用于任何位机器.

例如.在我的系统上(glibc版本2.26)malloc_info(0,stdout)打印出以下内容:

<malloc version="1"><heap nr="0"><sizes></sizes><total type="fast" count="0" size="0"/><total type="rest" count="0" size="0"/><system type="current" size="135168"/><system type="max" size="135168"/><aspace type="total" size="135168"/><aspace type="mprotect" size="135168"/></heap><total type="fast" count="0" size="0"/><total type="rest" count="0" size="0"/><total type="mmap" count="0" size="0"/><system type="current" size="135168"/><system type="max" size="135168"/><aspace type="total" size="135168"/><aspace type="mprotect" size="135168"/></malloc>
总结

以上是内存溢出为你收集整理的linux – 支持64位的mallinfo替代品?全部内容,希望文章能够帮你解决linux – 支持64位的mallinfo替代品?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存