OK since logging is only for cleanup it is probably not fwd and its associated logging functions spiking the CPU.
First order of business for a spiking CPU is determine what kind of execution is eating the most cycles during the problematic period. sar can get you going in the right direction here, run sar in historical mode like this (assume that the day number it happened was 7 in this example, for today just omit the "-f (filename)" argument):
sar -f /var/log/sa/sa07 -P ALL
This will show where specifically the CPU percentage-wise for each type of execution, namely:
%user - process execution, generally this should be fairly low on a gateway unless features that cause process space trips such as HTTPS Inspection are turned on
%nice - irrelevant on a gateway, important on a R80+ SMS though
%system - kernel execution, roll up of the sy/si/hi/st shown in top
%iowait - waiting for I/O, should be very low (<5%) on a gateway unless policy is currently being installed, if higher than that during your spikes the firewall is almost certainly low on memory, post output of free -m
%idle - hopefully self-explanatory
Please report where most of the CPU cycles are going during the spikes and we can go from there. If it is spiking in %system as shown by sar, you're going to either have to catch the problem live while running top, or run top in batch mode so we can see which one of sy/si/hi is the culprit.
--
Second Edition of my "Max Power" Firewall Book
Now Available at http://www.maxpowerfirewalls.com
Gateway Performance Optimization R81.20 Course
now available at maxpowerfirewalls.com