Hi, I always set "vm.swappiness = 0" for my hadoop servers (PostgreSQL servers too).
The reason is that Linux moves memory pages to swap space if they have not been accessed for a period of time (swapping). Java virtual machine (JVM) does not act well in the case of swapping that will make MapReduce (and HBase and ZooKeeper) run into trouble. So I would suggest to set vm.swappiness = 0. Thanks ac On 9 Dec 2012, at 12:58 PM, seth wrote: > Oracle frequently recommends vm.swappiness = 0 to get well behaved RAC nodes. > Otherwise you start paging out things you don't usually want paged out in > favor of a larger filesystem cache. > > There is also a vm parameter that controls the minimum size of the free > chain, might want to increase that a bit. > > Also, look into hosting your JVM heap on huge pages, they can't be paged out > and will help the JVM perform better too. > > On Dec 8, 2012, at 6:09 PM, Robert Dyer <rd...@iastate.edu> wrote: > >> Has anyone experienced a TaskTracker/DataNode behaving like the attached >> image? >> >> This was during a MR job (which runs often). Note the extremely high System >> CPU time. Upon investigating I saw that out of 64GB ram the system had >> allocated almost 45GB to cache! >> >> I did a sudo sh -c "sync ; echo 3 > /proc/sys/vm/drop_cache ; sync" which is >> roughly where the graph goes back to normal (much lower System, much higher >> User). >> >> This has happened a few times. >> >> I have tried playing with the sysctl vm.swappiness value (default of 60) by >> setting it to 30 (which it was at when the graph was collected) and now to >> 10. I am not sure that helps. >> >> Any ideas? Anyone else run into this before? >> >> 24 cores >> 64GB ram >> 4x2TB sata3 hdd >> >> Running Hadoop 1.0.4, with a DataNode (2gb heap), TaskTracker (2gb heap) on >> this machine. >> >> 24 map slots (1gb heap each), no reducers. >> >> Also running HBase 0.94.2 with a RS (8gb ram) on this machine. >> <cpu-use.png>