title: How to clean caches used by the Linux kernel
body: <p>I want to force the Linux kernel to allocate more memory to applications after the cache starts taking up too much memory (as can be seen by the output of 'free').</p>
  
  <p>I've run</p>
  
  <pre><code>sudo sync; sudo sysctl -w vm.drop_caches=3; free
  </code></pre>
  
  <p>(to free both disc dentry/inode cache and page cache) and I see that only about half of the used cache was freed - the rest remains. How can I tell what is taking up the rest of the cache and force it to be freed?</p>