This is my modified OpenDNSSEC 1.3.2 and ldns 1.6.10 source code to analyze memory usage of the signer and ldns and try to solve some of the issues. Read more at https://wiki.opendnssec.org/display/~jerry/Memory+Usage+in+OpenDNSSEC+signer+1.3.2+and+ldns+1.6.10 . For ldns: To enable storing rdf data in the pointer space #define __LDNS_RDF_DATA_IN_PTR in ldns-1.6.10/ldns/rdata.h . To enable rdf data size tracking #define __LDNS_RDF_SIZE_TRACKING in ldns-1.6.10/ldns/rdata.h . To enable new memory alloc #define LDNS_MM_MEMORY_ALLOC in ldns-1.6.10/ldns/mm.h . For opendnssec: To enable memory tracking #define MM_MEMORY_TRACKING in opendnssec-1.3.2/mm/src/mm.h , this enables the mem commands in ods-signer. NOTE that you need to enable rdf data size tracking also currently! To enable new memory alloc #define MM_MEMORY_ALLOC in opendnssec-1.3.2/mm/src/mm.h . To enable static allocator structures #define __STATIC_ALLOCATORS in opendnssec-1.3.2/signer/src/shared/allocator.c .