[Opendnssec-user]ods-signerd comsumes too much memory and never dump

Jerry Lundström jerry at opendnssec.org
Wed Aug 1 14:44:22 UTC 2012

Hi Stuart,

On Aug 1, 2012, at 05:25 , 刘硕 wrote:
> When I use sign --all command and use top command to monitor the process's behavior, I find that the ods-signerd comsumes very large amount of CUP and memeory useage. The server has 4 CPUs and 4G memory. The CUP usage can sometimes as high as 368% and as low as less than 50%, but the memory usage can never be an low level when it has come to an high position, say 87%, is OpenDNSSEC holds all the zone data in memory?
> The zone file used is 190M before signed, but the memory consumed is more than 3G, is this normal? What will happen if several zones signed as large as that?

The CPU usage you see is normal since the Signer is threaded it will use more then 100% CPU (this really depends on how the OS reports CPU usage). If you wish to lower the CPU usage you can configure the number of Worker and Signer threads in conf.xml for the Signer but then the signing will also take more time. Same goes if you wish to optimize/speed up the signing, reconfigure Worker and Signer threads to about 2x the number of virtual CPUs you have (if you have 4 cores with hyper threading you will have 8 virtual CPUs).

As for the memory usage, yes this is normal because Signer keeps all zone data in memory in order to quickly compare an update. It does not really matter how large the unsigned zone file is in bytes, its rather how many entries there is in it.

From the data we have seen, 1 million entries (no matter how many zone files) will require 8GB memory to operate on a 64-bit Linux system. Even if memory is cheap today this is something we are aware of and are working on.


Jerry Lundström - OpenDNSSEC Developer

More information about the Opendnssec-user mailing list