Running large test suites with large number of TEST_JOBS instantiates and keeps lots of AgentServer JVMs. For example, with 16 test jobs tier1 has ~70 AgentServers after an hour of test run, taking 60+ GB of memory. jtreg should really flush idle AgentServers after a while, to unclutter memory during the run.
Proof-of-concept patch:
http://cr.openjdk.java.net/~shade/7902454/jtreg-poc.patch
There might be better place to flush idle agents periodically. Current placement keeps stale agents alive until the next test starts, which might be too conservative.
Experiment setup (run, rendering scripts, data) with patched jtreg running tier1 tests on Linux x86_64 fastdebug and TEST_JOBS=8 on i7-7820X are at:
http://cr.openjdk.java.net/~shade/7902454/
The summary is given by the picture:
http://cr.openjdk.java.net/~shade/7902454/tier1-time-footprint.png
Flushing on idle does improve footprint very considerably. Current behavior wastes lots of memory. 1s flush is obviously a no-go, as it defies the purpose of agentvm, notice it prolongs the run for about 10 minutes. But sensible flushes at around 30..60s give lots of memory back without slowing down tier1 all that much.
Proof-of-concept patch:
http://cr.openjdk.java.net/~shade/7902454/jtreg-poc.patch
There might be better place to flush idle agents periodically. Current placement keeps stale agents alive until the next test starts, which might be too conservative.
Experiment setup (run, rendering scripts, data) with patched jtreg running tier1 tests on Linux x86_64 fastdebug and TEST_JOBS=8 on i7-7820X are at:
http://cr.openjdk.java.net/~shade/7902454/
The summary is given by the picture:
http://cr.openjdk.java.net/~shade/7902454/tier1-time-footprint.png
Flushing on idle does improve footprint very considerably. Current behavior wastes lots of memory. 1s flush is obviously a no-go, as it defies the purpose of agentvm, notice it prolongs the run for about 10 minutes. But sensible flushes at around 30..60s give lots of memory back without slowing down tier1 all that much.
- duplicates
-
JDK-8220773 [TESTBUG] CTW tests are retaining lots of VMs
-
- Closed
-
- relates to
-
JDK-8220773 [TESTBUG] CTW tests are retaining lots of VMs
-
- Closed
-