I'm trying to support large caches with BIND on our campus resolvers, but have run into several constraints. The machines in question are Solaris 10/ultrasparc, running BIND 9.6.1-P3.
It appears that 32-bit versions of BIND on Solaris 10 can't exceed 2GB without crashing. I see other reports of this issue posted earlier to bind-users: https://lists.isc.org/pipermail/bind-users/2009-June/076529.html Shouldn't they be able to approach 4GB? I can write small programs on the same machine that can allocate close to 4GB on the heap without issue. The core files from the crashing nameserver report that a KILL signal was received, but I haven't figured out from who. There are no data/stack resource limits imposed on the process by the OS. I've recompiled the nameserver as a 64-bit program and confirmed that they can now exceed 2GB. But I'd like to be able support much larger cache sizes. We have some CS researchers on campus that are making heavy use of our recursive resolvers. I'd like to support their research but I need to significantly increase our cache size to do so, and at the same time not allow the nameserver to eat up all of the system RAM (we currently have 16GB per server). But there is a hardcoded limit of 4GB (ISC_UINT32_MAX) for the max-cache-size parameter: bin/named/server.c: if (value > ISC_UINT32_MAX) { cfg_obj_log(obj, ns_g_lctx, ISC_LOG_ERROR, "'max-cache-size " "%" ISC_PRINT_QUADFORMAT "d' is too large", value); result = ISC_R_RANGE; goto cleanup; } max_cache_size = (isc_uint32_t)value; If I omit max-cache-size or set it to 0, then the implication from the documentation (ARM) is that BIND sets no limit and uses as much as it can. Is this correct? Or is there still an effective 4GB limit? And is there no way to set an explicit cache size limit >4GB? Thanks! --Shumon. _______________________________________________ bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users