We're working on simplifying the Drill memory configuration process, where by, users no more have the need for getting into the specifics of Heap and Direct memory allocations.
Here is the original JIRA https://issues.apache.org/jira/browse/DRILL-5741
The idea is to simply provide the Drill process with a single dimensional of total process memory (either in absolute values, or as a percentage of the total system memory), while Drill's startup scripts automatically do an optimal allocations. This, of course, can be overridden.
What I'm looking for feed back.... for which, you're welcome to try the Commit (1ad11ee44902c11efa69cde908002f59169f61d7) specified in the followinghttps://github.com/apache/drill/pull/1082
You can try building Drill with this private branch (to which the pull request is linked): https://github.com/kkhatua/drill/commit/1ad11ee44902c11efa69cde908002f59169f61d7
Once you've done a clean setup, you should only need to edit
and uncomment the line having the property - "DRILLBIT_MAX_PROC_MEM" with a setting like (say) 50%.
After that, Drill should start up successfully. Log messages should appear in drillbit.out showing that Drill has auto-configured the memory.
I'm looking forward to hearing back from folks who've tried this.