1. A method for caching allocation performed on a storage system, the method comprising: estimating cacheability of a workload from a first working-set size estimate generated from the workload over a first monitoring interval; determining if the first working-set size estimate should be stored by monitoring a value change in a working-set size over multiple monitoring intervals, determining from a previous iteration if a similar working-set size estimate was stored, or updating the first working-set size estimate based on a second working-set size estimate from a similar workload; determining, using a processor, a workload cache size based on the cacheability of the workload; and dynamically allocating a cache within the storage system in accordance with the workload cache size.