accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Newton (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (ACCUMULO-847) out of memory error creating native thread
Date Thu, 15 Nov 2012 21:07:12 GMT

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

Eric Newton edited comment on ACCUMULO-847 at 11/15/12 9:05 PM:
----------------------------------------------------------------

It's much worse than I thought.

Based on a user's ingest patterns, I created a new little test program to ingest random-length
values with random rows in a single column.  I ran experiments, watching resident memory use
of the tserver with top.  I experimented with the number of arenas and also setting M_MMAP_THRESHOLD_
to zero to force all memory allocations to mmap() and not sbrk().  At the end of the test,
I flushed all tables to disk, and waited for compactions to finish.

Here's the results for ingesting 10M k-v with a value size of 1-4096, on a tserver with 1G
jvm and 1G native map:

||Arenas||Thresh=0||Res Mem||Secs||
|unlimited|FALSE|3|556|
|unlimited|TRUE|4.2|626|
|4|TRUE|2.5|565|
|1|FALSE|1.9|569|
|1|TRUE|1.9|534|

Pay no attention to the seconds column; I was doing other lightweight tasks on the computer
while the test ran, so I expected that much noise.

I've started to recommend 

{noformat}
export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-1}
{noformat}

in {{bin/config.sh}} and I will make the change for the trunk.

                
      was (Author: ecn):
    It's much worse than I thought.

Based on a user's ingest patterns, I created a new little test program to ingest random-length
values with random rows in a single column.  I ran experiments, watching resident memory use
of the tserver with top.  I experimented with the number of arenas and also setting M_MMAP_THRESHOLD_
to zero to force all memory allocations to mmap() and not sbrk().  At the end of the test,
I flushed all tables to disk, and waited for compactions to finish.

Here's the results for ingesting 10M k-v with a value size of 1-4096.

||Arenas||Thresh=0||Res Mem||Secs||
|unlimited|FALSE|3|556|
|unlimited|TRUE|4.2|626|
|4|TRUE|2.5|565|
|1|FALSE|1.9|569|
|1|TRUE|1.9|534|

Pay no attention to the seconds column; I was doing other lightweight tasks on the computer
while the test ran, so I expected that much noise.

I've started to recommend 

{noformat}
export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-1}
{noformat}

in {{bin/config.sh}} and I will make the change for the trunk.

                  
> out of memory error creating native thread
> ------------------------------------------
>
>                 Key: ACCUMULO-847
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-847
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>         Environment: RHEL6
>            Reporter: Eric Newton
>            Assignee: Keith Turner
>             Fix For: 1.5.0
>
>
> Long running tablet servers had many gigabytes of memory allocated above what was expected
(native + jvm).  Inspection of the heap did not show an unusual number of native objects allocated.
 Servers would eventually fail to create new threads.
> See HADOOP-7154 for the details.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message