在Mac OS X中是否有等效的mallopt()



Linux 提供了通过 mallopt() 分配内存的自定义选项。在 OS X (BSD) 上自定义内存分配是否有类似的选项?

OS X曾经包含mallopt()功能,尽管现在它释放内存的方式与过去不同,因此您需要在10.7及更高版本中找到替代方案。目前还不清楚您要查找的特定mallopt()内存分配选项的类型,尽管大多数等效函数都可以在以下标头中找到:

/usr/include/malloc/malloc.h
/usr/include/mach/vm_map.h

您可能会发现在功能上与mallopts()相似的函数:

malloc_zone_pressure_relief()

通知 malloc 子系统进程处于内存压力之下 并且子系统应尽最大努力释放 (即munmap()-ing)来自"区域"的"目标"字节。如果"目标"被传递为 零,Malloc 子系统将尝试达到最大压力 "区域"中的浮雕。如果将"区域"作为 NULL 传递,则检查所有区域 用于泄压机会。malloc_zone_pressure_relief() 返回释放的字节数。

vm_allocate()

在指定任务的地址中分配虚拟内存区域 空间。 新区域始终为零填充。

↳ OS X 内存使用性能指南

相关内容

  • 没有找到相关文章

最新更新