Page MenuHomePhabricator

Implement memory reserves in autoscale pools
ClosedPublic

Authored by epriestley on Feb 23 2015, 6:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 7, 8:54 PM
Unknown Object (File)
Thu, Nov 28, 11:00 PM
Unknown Object (File)
Oct 22 2024, 8:10 AM
Unknown Object (File)
Oct 19 2024, 6:26 AM
Unknown Object (File)
Oct 18 2024, 8:07 PM
Unknown Object (File)
Sep 14 2024, 12:58 AM
Unknown Object (File)
Aug 29 2024, 6:09 PM
Unknown Object (File)
Aug 20 2024, 9:38 PM
Subscribers

Details

Summary

Ref T7352. If an autoscale pool specifies a memory reserve, don't scale the pool up unless the machine has at least that proportion of its RAM free.

This is off by default because it doesn't impact most users and we may not be able to get memory information on some systems (e.g., FreeBSD).

Test Plan

Changed "HighIntensity" daemon to:

  • Always remain busy.
  • Use 512MB of RAM for no reason.

Changed phd debug --autoscale to:

  • Specify a reserve of 0.15.
  • Specify a pool size of 1024.

Then, observed:

  • Pool expanded up to 6 daemons, bringing reserve down from 30% of system RAM to 13%.
  • Pool stopped expanding at this point and remained at a fixed size.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Implement memory reserves in autoscale pools.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Feb 23 2015, 6:37 PM
epriestley edited edge metadata.

(Proper test plan.)

This revision was automatically updated to reflect the committed changes.