From ebeb314e6f41e4796498cee6f8571ee855b584bc Mon Sep 17 00:00:00 2001 From: Karasiq Date: Thu, 23 Jul 2020 22:27:50 +0300 Subject: [PATCH] Fix memory usage --- build.sbt | 2 +- .../com/karasiq/shadowcloud/console/SCConsoleMain.scala | 7 ++++++- .../com/karasiq/shadowcloud/desktop/SCDesktopMain.scala | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index bc97f617..8ed39011 100644 --- a/build.sbt +++ b/build.sbt @@ -48,7 +48,7 @@ val packageSettings = Seq( Some(file(s"setup/icon.$iconExt")) }, jdkPackagerType := "installer", - jdkPackagerJVMArgs := Seq("-Xmx2G", "-XX:+UseG1GC"), + jdkPackagerJVMArgs := Seq("-Xmx1G", "-XX:+UseG1GC"), jdkPackagerProperties := Map( "app.name" → "shadowcloud", "app.version" → version.value.replace("-SNAPSHOT", ""), diff --git a/console-app/src/main/scala/com/karasiq/shadowcloud/console/SCConsoleMain.scala b/console-app/src/main/scala/com/karasiq/shadowcloud/console/SCConsoleMain.scala index dd8f1e97..62e37f49 100644 --- a/console-app/src/main/scala/com/karasiq/shadowcloud/console/SCConsoleMain.scala +++ b/console-app/src/main/scala/com/karasiq/shadowcloud/console/SCConsoleMain.scala @@ -1,11 +1,11 @@ package com.karasiq.shadowcloud.console import akka.actor.ActorSystem + import com.karasiq.common.configs.ConfigImplicits._ import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.drive.fuse.SCFuseHelper import com.typesafe.config.impl.ConfigImpl - import scala.concurrent.Await import scala.concurrent.duration._ import scala.util.Try @@ -22,6 +22,11 @@ object SCConsoleMain extends App { val sc = ShadowCloud(actorSystem) import sc.implicits.executionContext + // LArray memory fix + actorSystem.scheduler.scheduleAtFixedRate(30 seconds, 15 seconds) { () ⇒ + System.gc() + }(actorSystem.dispatcher) + sys.addShutdownHook { Try(sc.shutdown()) Try(Await.result(actorSystem.terminate(), 15 seconds)) diff --git a/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCDesktopMain.scala b/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCDesktopMain.scala index d1a05998..5b71610e 100644 --- a/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCDesktopMain.scala +++ b/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCDesktopMain.scala @@ -9,6 +9,7 @@ import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.drive.fuse.SCFuseHelper import com.karasiq.shadowcloud.server.http.SCAkkaHttpServer import com.typesafe.config.impl.ConfigImpl +import scala.concurrent.duration._ import scala.concurrent.Future import scala.util.Try @@ -22,6 +23,11 @@ object SCDesktopMain extends App { implicit val actorSystem = ActorSystem("shadowcloud", config) + // LArray memory fix + actorSystem.scheduler.scheduleAtFixedRate(30 seconds, 15 seconds) { () ⇒ + System.gc() + }(actorSystem.dispatcher) + val sc = ShadowCloud(actorSystem) sc.init()