You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Eric Newton (JIRA)" <ji...@apache.org> on 2012/11/15 22:07:12 UTC
[jira] [Comment Edited] (ACCUMULO-847) out of memory error creating
native thread
[ 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