Some programs simply aren't multithreaded, meaning that the program can't do it's work on any more than 1 cpu/core. What the kernel will do however, is move new processes to other cores as it's needs to, so I really wouldn't worry, it's also slightly better on power usage (on modern chips) which can reduce power to idle cores.
We have a server that has 8 processors. We notice that one generally stays at 99% while the others are at 0%. Is there anyway to load balance between the processors?
THis is a cpanel server.
Also, we notice that some spamassasin processes are utilizing 99% of the cpu usage. Is there anything you can do to optimize that?
One way to optimize spamassassing is to remove some of the plugins that it loads and runs against each incoming email. The perl document Mail::SpamAssassin::Con goes over the config part. The configuration files are located under /etc/mail/spamassassin