环境变量
下表描述可用于启用和配置堆内存管理器的环境变量。
可以使用以下环境变量来指示应该使用哪个内存管理器:
| 环境变量 | 值 | 描述 |
|---|---|---|
| qibm_malloc_type | DEFAULT | 指示将使用缺省内存管理器。 |
| 快速池 | 指示要使用快速池内存管理器。 | |
| 调试 | 指示要使用调试内存管理器。 |
如果未设置 QIBM_MALLOC_TYPE 环境变量,或者如果该环境变量的值与上述值之一不同,那么将使用缺省内存管理器,并且将忽略以下所有环境变量。
如果 QIBM_MALLOC_TYPE 设置为 DEFAULT ,那么可以使用以下环境变量来指示缺省内存管理器选项。 否则,将忽略环境变量。
| 环境变量 | 值 | 描述 |
|---|---|---|
| qibm_malloc_default_options | MALLOC_INIT: N | 已分配内存的每个字节都将初始化为此值。 |
| FREE_INIT: N | 已释放内存的每个字节都将初始化为该值。 | |
| CHUNK_REUSE_MAXSZ: N | 大于或等于此值的空块将立即返回给系统。 |
缺省情况下,既不会初始化已分配的内存,也不会初始化释放的内存,并且内存管理器会保留空块以供复用。
如果 QIBM_MALLOC_TYPE 设置为 QUICKPOOL ,那么可以使用以下环境变量来指示快速池内存管理器选项。 否则,将忽略环境变量。
| 环境变量 | 值 | 描述 |
|---|---|---|
| qibm_malloc_quickpool_options | 池: (C1 E1) (C2 E2) ... ( Cn En ) | 定义每个池的单元大小和扩展数据块单元计数。 (Cn En) 对的数目指示池的数目。 |
| MALLOC_INIT: N | 已分配内存的每个字节都将初始化为此值。 | |
| FREE_INIT: N | 已释放内存的每个字节都将初始化为该值。 | |
| COLLECT_STATS | 指示在应用程序结束时收集统计信息并生成报告。 |
缺省情况下,既不会初始化已分配的内存,也不会初始化已释放的内存。 缺省行为是不收集统计信息。 如果未指定单元大小和扩展数据块单元计数,或者未正确指定单元大小和扩展数据块单元计数,那么将使用缺省配置值,如本节中先前所述。
如果 QIBM_MALLOC_TYPE 设置为 DEBUG ,那么可以使用以下环境变量来指示调试内存管理器选项。 否则,将忽略环境变量。
| 环境变量 | 值 | 描述 |
|---|---|---|
| qibm_malloc_debug_options | MALLOC_INIT: N | 已分配内存的每个字节都将初始化为此值。 |
| FREE_INIT: N | 已释放内存的每个字节都将初始化为该值。 |
缺省情况下,既不会初始化已分配的内存,也不会初始化已释放的内存。