Linux为通过mallopt()分配内存提供了自定义选项。在OS (BSD)上是否有类似的自定义内存分配选项?
发布于 2016-03-10 14:36:18
OS曾经包含mallopt()函数,尽管现在它释放内存的方式与过去不同,所以您需要在10.7和更高版本中找到替代方案。您正在寻找的特定mallopt()内存分配选项的类型尚不清楚,尽管大多数等效函数都可以在以下标题中找到:
/usr/include/malloc/malloc.h
/usr/include/mach/vm_map.h在功能上可能与mallopts()相似的函数
malloc_zone_pressure_relief()
建议malloc子系统该进程处于内存压力之下,并且该子系统应尽最大努力从"zone“释放(即munmap()-ing)的”目标“字节。如果将“目标”作为零传递,那么malloc子系统将尝试在“区域”内实现最大压力释放。如果“区域”以NULL形式传递,则对所有区域进行压力释放机会检查。malloc_zone_pressure_relief()返回释放的字节数。
vm_allocate()
在指定任务的地址空间中分配虚拟内存区域。一个新的区域总是零填充。
https://stackoverflow.com/questions/35904357
复制相似问题