Self caching applications One real world case where the kernel cache is totally useless are the self caching applications (DBMS most of the time). Self caching means that the application will keep its own I/O cache in userspace (often in shared memory) and so it won't need an additional lower level system cache that wouldn't reduce the amount of I/O but that would only waste ram, memory bandwidth, cpu caches and CPU cycles.