Status: Untriaged
Owner: [email protected]
Labels: Type-Bug Pri-2 OS-All Area-Misc Size-Medium

New issue 19086 by [email protected]: V8 uses too much memory
http://code.google.com/p/chromium/issues/detail?id=19086

What steps will reproduce the problem?
1. Go to this URL http://exo-blog.blogspot.com/2008/09/internet-explorer-8-
over-2x-fatter-than.html
2. Click all 11 tabs listed
3. Check Chrome Memory use

Default, after this test, Chrome weighs in at 360MB.

I then tweaked the V8 heap sizes by a 4-fold reduction.
int Heap::semispace_size_  = 2*MB;              //  was 8MB
int Heap::old_generation_size_ = 128*MB;      //  was 512MB
int Heap::initial_semispace_size_ = 128*KB;   // was 512KB

New memory size = 279MB  (23% reduction)

As expected, performance also dropped.  The v8 benchmark score dropped from
3790 to 3594 (about 5%).  The two tests which were impacted were Early
Boyer and Splay (not surprising).

Lars suggested the following.  I played with this a bit, but couldn't find
a good algorithm which uses less memory and preserves the performance.

Is seems the problem is the large semi space. The max semi space
starts out being reserved and committed later.
Heap::initial_semispace_size_ = 128*KB;
It the initial committed semi space.

We might expand the semi space too quickly. Please look at Heap::Scavenge

  if (new_space_.Capacity() < new_space_.MaximumCapacity() &&
      survived_since_last_expansion_ > new_space_.Capacity()) {
    // Double the size of new space if there is room to grow and enough
    // data has survived scavenge since the last expansion.
    // TODO(1240712): NewSpace::Double has a return value which is
    // ignored here.
    new_space_.Double();
    survived_since_last_expansion_ = 0;
  }

The condition for doubling the semi space seems questionable at best.
I think you can change the growth policy and reduce the memory
consumption for many tabs without loosing the 5% on V8BenchmarkSuite.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to