Linux通过mallopt()
提供内存分配的自定义选项。在OS X(BSD)上是否有类似的自定义内存分配选项?
答案 0 :(得分:1)
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)" goal"来自" zone"的字节数。如果"目标"被传递为 零,malloc子系统将尝试实现最大压力 在"区"中缓解如果" zone"传递为NULL,检查所有区域 为减压机会。 malloc_zone_pressure_relief() 返回释放的字节数。
<强> vm_allocate()强>
在指定任务的地址中分配虚拟内存区域 空间。新区域始终为零填充。