Being pedantic, THP is a feature of the kernel you're running, not of the VM itself. That said, if your kernel does not support THP then it's not an issue. Also, THP won't make your box use more memory - it will just make it use VASTLY more CPU doing memory management work. (Imagine a background process doing a 'defrag' on memory all the time, and the extra CPU that would need.)
An important question is which splunkd processes are being killed by OOMKiller. There is the "main" process, which is a long-running daemon, and there are (hopefully) short-lived search-runner processes for each concurrent search. These two types should exhibit different memory usage patterns.
If the main splunkd is the one being killed all the time, there's probably a memory leak somewhere and your configuration is irritating it. If a search process is being killed, then it's likely a feature of a search you're running, like large cardinality in a stats operation or similar.
In the snippet of log you posted, OOMKiller killed a splunk process that had a virtual process size of 32,101,400kB (or about 32 GB) and a resident memory usage of 29,769,432kB (or about 29GB). That's awfully close to your "30 GB size" of your VM.
Since it's a VM, you can (in theory) keep shoveling coal into the firebox by adding RAM until this stops. While "12GB'" is considered the "current reference hardware" for a (non-ES) search head (http://docs.splunk.com/Documentation/Splunk/latest/Capacity/Referencehardware) sometimes, depending on your search particulars much much more can be needed.
To debug this you may need to temporarily add RAM in order to keep it stable until you can figure out where the leak is or if it's related to a specific search. I would engage support as they have the troubleshooting tools for this type of problem.
Also, 6.2.3 is OLD by now. Consider upgrading to the latest 6.2, or even 6.3.3! Your problem may be fixed there.
... View more