I've been running saslauthd (and openssh and other apps that use encryption and random numbers) in different email project that wasnt using zimbra (just postfix installation that i've setup myself) and *if i remember correctly* saslauthd draining cpu was caused by its requirement to use /dev/random .. This device file generates its random data gathered from entropy happening in the machine (keypresses/mouse movements and such). In server machines that do not have mouse/keyboards even attached, reading of the /dev/random is sometimes blocking and using all available cpu as there is random data available..

To fix this without recompling or reconfiguring saslauthd, remove or move /dev/random to a new name and use mknod to create new version with mknod that machines the same major/minor number pair as /dev/urandom ..

*note*

This ofcourse is a tradeoff in security and in same cases this is not an option. however, many cases using /dev/urandom instead of /dev/random is "secure enough" ..