|
|
| Author |
Message |
< Advanced Erlang/OTP ~ Massive virtual size and acceptable resident size |
| kjkoster |
Posted: Wed Dec 23, 2009 9:49 pm |
|
|
|
Joined: 23 Dec 2009
Posts: 2
|
Dear All,
We're running with a decently-sized ejabberd setup. Under load, the ejabberd process grows to about 5GB resident size (according to Linux top), which is fine. We have 8GB in the machine, so no worries.
However, top also shows the process to have about 25-30GB of virtual size. This is an issue, because once the machine reaches a virtual allocation size of about 40GB it locks up and need a hard reset to bring to live again.
Interestingly, the machine does not swap at all. It never seems to actually touch most of the virtual memory allocated to the process, otherwise these pages would have to be stored in swap.
From my understanding this means that the Erlang process is allocating a lot more memory than it actually uses. Can anyone confirm or deny this?
How can I see where that memory is being allocated? Is there a way to make the Erlang runtime not allocate memory it is not actually touching?
Kees Jan |
|
|
| Back to top |
|
| uwiger |
Posted: Thu Dec 24, 2009 8:07 pm |
|
|
|
User
Joined: 03 Jul 2006
Posts: 604
Location: Sweden
|
kjkoster wrote:
However, top also shows the process to have about 25-30GB of virtual size. This is an issue, because once the machine reaches a virtual allocation size of about 40GB it locks up and need a hard reset to bring to live again.
I think that in general it's ok to let Erlang use some swap, but if you have 5 times more memory in swap than resident in RAM, I'd say all bets are off. Erlang doesn't do any caching on its own, so it basically assumes that all data is resident. Remember that Erlang was designed for soft real-time.
Perhaps someone else has a different experience.
BR,
Ulf W |
_________________ http://www.erlang-consulting.com |
|
| Back to top |
|
| kjkoster |
Posted: Fri Dec 25, 2009 10:03 am |
|
|
|
Joined: 23 Dec 2009
Posts: 2
|
Dear Ulf,
That's the strange thing: it uses no swap at all. It allocates the 20GB virtual memory and then works happily in something like 5GB without ever touching swap.
So in top the VIRT column reads "20GB", the RES column reads "5GB" and the swap-in-use field reads 0.
Why does Erlang allocate the excess 15GB?
Kees Jan |
|
|
| Back to top |
|
| wuji |
Posted: Tue Sep 18, 2012 6:12 am |
|
|
|
User
Joined: 10 Aug 2012
Posts: 654
|
abs and intensity, you would never guess he was once once cheap replica designer *beep* once a scrawny kid who failed to make the high
football team."I was so weak and vulnerable at that time time replica designer *beep* time that I just felt empowered and what gave it
me was fitness, iron, and I was hooked," he said.Powell said.Powell cheap designer *beep* said.Powell became a trainer and even appeared on "Good Morning
But after some bad business deals, he found himself living living [h1]cheap jordan shoes[/h1] living out of his car."I felt like a fraud, I
like a total fraud," he said. "I made poor business business cheap authentic air jordans business decisions. I was hundreds of thousands of dollars in
I was losing everything."That is, until he met Heidi, a a cheap replica *beep* a recently divorced single mom of two. The couple are
married and raising three kids together."We really met at the the [h3]cheap designer *beep*[/h3] the deepest, darkest part in both of our lives and |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|