Release memory to OS on garbage collection

ZMM often holds onto big chunks of memory after they aren't used anymore, which is fine in a webserver, but it's not OK for PM.
This commit is contained in:
Dylan K. Taylor 2020-09-09 01:40:18 +01:00
parent d2f1a3cf5b
commit d3ea29d527
2 changed files with 4 additions and 0 deletions

View File

@ -40,6 +40,7 @@ use function fwrite;
use function gc_collect_cycles;
use function gc_disable;
use function gc_enable;
use function gc_mem_caches;
use function get_class;
use function get_declared_classes;
use function implode;
@ -273,6 +274,7 @@ class MemoryManager{
}
$cycles = gc_collect_cycles();
gc_mem_caches();
Timings::$garbageCollectorTimer->stopTiming();

View File

@ -25,11 +25,13 @@ namespace pocketmine\scheduler;
use function gc_collect_cycles;
use function gc_enable;
use function gc_mem_caches;
class GarbageCollectionTask extends AsyncTask{
public function onRun(){
gc_enable();
gc_collect_cycles();
gc_mem_caches();
}
}