[ 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:18 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| Same data with the HotSpot 6.0.25 JVM: ||Arenas||Thresh=0||Res Mem||Secs|| |unlimited|FALSE|3.5|573| |unlimited|TRUE|3.8|552| |4|TRUE|2.7|569| |1|FALSE|1.9|556| |1|TRUE|1.9|572| 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, 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| Same data with the HotSpot 6.0.25 JVM: ||Arenas||Thresh=0||Res Mem||Secs|| |0|FALSE|3.5|573| |0|TRUE|3.8|552| |4|TRUE|2.7|569| |1|FALSE|1.9|556| |1|TRUE|1.9|572| 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