Idle time can be positive because it means that the CPUs have capacity to support growth. It is not necessary for idle time to always be greater than zero. If idle time is zero for prolonged periods and there is no significant amount of time logged to wait, you must look deeper into CPU activity to determine the correct course of action.
For example, look at the CPU queue depths. CPU queue depth is the number of processes waiting to use the CPU. If there are always several processes in the queue, you should do one of the following:
Increase CPU capacity or increase CPU efficiency
Reduce demand by either fixing code or moving processing to slow periods of the day
If the wait for I/O is high and there is no idle time, you need to either increase disk efficiency, reduce I/O throughput, or modify your processing schedule. If the wait for I/O is 10 percent or less and you still have idle time, you might want to look at those items outlined in the previous paragraph, but there no problem that requires urgent attention.