[ 
https://issues.apache.org/jira/browse/DRILL-5741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kunal Khatua updated DRILL-5741:
--------------------------------
    Remaining Estimate: 336h  (was: 48h)
     Original Estimate: 336h  (was: 48h)

> During startup Drill should not exceed the available memory
> -----------------------------------------------------------
>
>                 Key: DRILL-5741
>                 URL: https://issues.apache.org/jira/browse/DRILL-5741
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components:  Server
>    Affects Versions: 1.11.0
>            Reporter: Kunal Khatua
>            Assignee: Kunal Khatua
>             Fix For: 1.13.0
>
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> Currently, during startup, a Drillbit can be assigned large values for the 
> following:
> * Xmx (Heap)
> * XX:MaxDirectMemorySize
> * XX:ReservedCodeCacheSize
> * XX:MaxPermSize
> All of this, potentially, can exceed the available memory on a system when a 
> Drillbit is under heavy load. It would be good to have the Drillbit ensure 
> during startup itself that the cumulative value of these parameters does not 
> exceed a pre-defined upper limit for the Drill process.
> The proposal is to have the 
> [runbit|https://github.com/apache/drill/blob/master/distribution/src/resources/runbit]
>  script look for an additional environment variable:
> {{DRILLBIT_MAX_PROC_MEM}}
> The parameter can specify the maximum in GB/MB (similar in syntax to how the 
> Java's MaxHeap is defined), or in terms of percentage of available memory 
> (not to exceed 95%).
> The 
> [runbit|https://github.com/apache/drill/blob/master/distribution/src/resources/runbit]
>  script will perform the calculation of the sum of memory required by the 
> memory spaces (heap, direct, etc) and ensure that it is within the limit 
> defined by the {{DRILLBIT_MAX_PROC_MEM}} env variable. 
> In the absence of this parameter, there will be no restriction. A node admin 
> can then define this variable in the default terminal's environment (e.g. 
> {{/root/.bashrc}} ) files.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to