Tue Mar 17, 2015 9:33 am by bob
You have said these are max values, so the 95% may mean it hit that for the processing of 1 frame during the session. You need to monitor over the complete session and then look at the trend (this may require other tools - I've noted some perf counters that are useful).
The CPU % is getting up there, but why. What processes are using CPU time, and have you broken it down so you know whether each game instance is at 20% and there is something else chewing up with rest, or is it purely game using the 328% of CPU time (each core is 100%, so you have 400%). If the CPU is in Kernel (privileged) time rather than User time a lot, then that is not great, as it is dealing with system processing rather than your game, so it is worthwhile checking for that.
If the GPU alone was the bottleneck then it would probably be topping out at somewhere between 98-100%, but if it is waiting on the CPU, because it is also fairly busy (not excessively, but getting there), then that percentage will be a little lower. Usually once the CPU starts getting over 80% constant then you will notice the impact on other services.
It is possible that the cause of the CPU being busy is the ram limitation of 8GB. With limited ram, there will be a lot of calls for the CPU to be loading/reloading new data to ram all the time, thus making it busy (and slow while it waits or context switches). I realise that there is some free space, but that doesn't mean you aren't getting thrashing going on while Windows is trying to make sure that the system stay's responsive. To check this out you need to also monitor what is going on with the memory and disk. Starting places would be the Page Faults/Sec and Pages Input/Sec. You could also monitor the Page Writes/Sec to see if the paging file is getting a workout. Of course it could be loading directly via DMA to the GPU too, but that is a little more difficult to track.
For the disk you are interested in the amount of bytes moving as well as the latency, and the queue depth. On an SSD, latency and queue depth should all be low, unless you have a lack of free space, and there is significant amounts of writing going on, which means the wear levelling algorithms will probably be impacting performance. For these you need to look at the Avg Disk Bytes/Write, Disk Writes/sec Disk Write Bytes/sec, Disk Reads/sec, Disk Read Bytes/sec, Avg.Disk Write Queue Length, Current Disk Queue Length.
TL;DR Your numbers are an indication of a potential limitation with the GPU followed by the CPU, but aren't conclusive. You need to monitor the values during the whole session, not just pick out the max values.