OpenSIPS有自己的内存分配器,服务器内存分配及管理有以下几个特点:
1.限制最大使用的内存范围;
2.内存管理优于系统分配API;
3.通过编译选项,可以选择多个内存分配器。
OpenSIPS采用多进程应用设计方式,服务器通过共享内存屏蔽
进程间通信的复杂问题,对外给用户提供了用于内存管理的API,
系统在初始化时从系统申请最大的可用内存范围,在内部进行分配
和管理,其中OpenSIPS包括两类内存:
1.进程内使用的内存PKG,提供的三个API包括:
void *pkg_malloc(unsigned int size);
void pkg_free(void *buf);
void *pkg_realloc(void *buf, unsigned int size);
2.进程间使用的内存SHM
void *shm_malloc(unsigned int size);
void shm_free(void *buf);
void *shm_realloc(void *buf, unsigned int size)
1.限制最大使用的内存范围;
2.内存管理优于系统分配API;
3.通过编译选项,可以选择多个内存分配器。
OpenSIPS采用多进程应用设计方式,服务器通过共享内存屏蔽
进程间通信的复杂问题,对外给用户提供了用于内存管理的API,
系统在初始化时从系统申请最大的可用内存范围,在内部进行分配
和管理,其中OpenSIPS包括两类内存:
1.进程内使用的内存PKG,提供的三个API包括:
void *pkg_malloc(unsigned int size);
void pkg_free(void *buf);
void *pkg_realloc(void *buf, unsigned int size);
2.进程间使用的内存SHM
void *shm_malloc(unsigned int size);
void shm_free(void *buf);
void *shm_realloc(void *buf, unsigned int size)