How do you know this is a bottleneck. do you have a long response time to cross with this at the same time? Also, you may want to break out the IO. You have disk, you have network and you have other IO such as serial interfaces that could be the issue. It would be good to understand what is the source of the IO. You also don't have a correlating curve with CPU, so this appears to be less i/o interrupts per second, which would drive the system component of CPU higher, but perhaps I/O bytes second. Bytes would tend to have a correlating disk or CPU component. For instance, you could have a small test data set which is exhausted after the first hour and then after that it is being pulled from cache instead of hitting disk, therefore reducing IO bytes per second.