Did you already post the results of: cat /proc/sys/vm/zone_reclaim_mode
Also, how big did you say your dataset is? Based on the output of free, you're certainly not using all the memory you have. That could be just because you haven't accessed that much of your dataset, or it could be because zone reclaim is preventing you from using your entire amount of RAM as file system cache.