[ 
https://issues.apache.org/jira/browse/KUDU-2836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17219848#comment-17219848
 ] 

Bankim Bhavsar commented on KUDU-2836:
--------------------------------------

Noting the commit 598a8c1116535333008800e1b222721674646650 for the fix.
Review: https://gerrit.cloudera.org/c/13606/


> Maybe wrong memory size used to detect pressure
> -----------------------------------------------
>
>                 Key: KUDU-2836
>                 URL: https://issues.apache.org/jira/browse/KUDU-2836
>             Project: Kudu
>          Issue Type: Improvement
>          Components: tserver
>    Affects Versions: 1.10.0
>            Reporter: Yingchun Lai
>            Assignee: Yingchun Lai
>            Priority: Critical
>             Fix For: 1.11.0
>
>         Attachments: 选区_313.jpg
>
>
> One of my tserver, totally 128G memory, gflags: 
> {code:java}
> -memory_limit_hard_bytes=107374182475 (100G)  
> -memory_limit_soft_percentage=85 -memory_pressure_percentage=80{code}
> Memory used about 95%, "top" result like:
> {code:java}
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 8359 work 20 0 0.326t 0.116t 81780 S 727.9 94.6 230228:10 kudu_tablet_ser
> {code}
> That is kudu_tablet_server process used about 116G memory.
> On mem-trackers page, I find the "Total consumption" value is about 65G, much 
> lower than 116G.
> Then, I login to the server and read code to check any free memory MM 
> operations are work correctly. Unfortunatly, the memory pressure detect 
> function(process_memory::UnderMemoryPressure) doesn't report it's under 
> pressure, because the tcmalloc function GetNumericProperty(const char* 
> property, size_t* value) with parameter "generic.current_allocated_bytes" 
> doesn't return the memory as the memory use reported by the OS.
> [https://gperftools.github.io/gperftools/tcmalloc.html]
> {quote}
> |{{generic.current_allocated_bytes}}|Number of bytes used by the application. 
> This will not typically match the memory use reported by the OS, because it 
> does not include TCMalloc overhead or memory fragmentation.|
> {quote}
> This situation may lead to OPs prefer to free memory could not be scheduled 
> promptly, and the OS memory may consumed empty, and then kill tserver because 
> of OOM.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to