And how big is the biggest database, and how big is the biggest table?
Going off Jonathan's calculations @450 SQL should be @392 so not far off.
Do you have lock pages in memory enabled?
Look through sys.dm_io_pending_io_requests when you are noticing the large amount of PAGEIOLATCH waits to see where the IO is pending if its at the OS or at the SQL layer.
Check all your disk metrics also as you could have slow disks if your constantly waiting on IO.
Trend counters like PLE so you can see how long things stay in the buffer cache for and when the values tank see what was running so have a XE trace set to pull the completed events for statement and procedure so you can see what was run when PLE tanked as a tanked PLE will then go to it needing to read back from disk.
Other than that offload the CHECKDB to another machine.