I don't think analysis should fail with any amount of memory available.
[20:41:26]org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarqube'.
[20:41:26] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
[20:41:26] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
[20:41:26] at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
[20:41:26] at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
[20:41:26] at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
[20:41:26] at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
[20:41:26] at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
[20:41:26] at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
[20:41:26] at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
[20:41:26] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
[20:41:26] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
[20:41:26] at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
[20:41:26] at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
[20:41:26] at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
[20:41:26] at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
[20:41:26]Caused by: java.lang.IllegalStateException: java.lang.OutOfMemoryError: GC overhead limit exceeded
[20:41:26] at org.sonarsource.scm.git.JGitBlameCommand.waitForTaskToComplete(JGitBlameCommand.java:76)
[20:41:26] at org.sonarsource.scm.git.JGitBlameCommand.blame(JGitBlameCommand.java:63)
[20:41:26] at org.sonar.scanner.scm.ScmSensor.execute(ScmSensor.java:86)
[20:41:26] at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
[20:41:26] at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
[20:41:26] at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
[20:41:26] at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
[20:41:26] at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
[20:41:26] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
[20:41:26] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
[20:41:26] at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247)
[20:41:26] at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242)
[20:41:26] at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:240)
[20:41:26] at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232)
[20:41:26] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
[20:41:26] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
[20:41:26] at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
[20:41:26] at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
[20:41:26] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
[20:41:26] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
[20:41:26] at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
[20:41:26] at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)
[20:41:26] at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
[20:41:26] at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
[20:41:26] at com.sun.proxy.$Proxy92.execute(Unknown Source)
[20:41:26] at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
[20:41:26] at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
[20:41:26] at org.sonarqube.gradle.SonarQubeTask.run(SonarQubeTask.java:93)
[20:41:26] at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
[20:41:26] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
[20:41:26] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
[20:41:26] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
[20:41:26] at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
[20:41:26] at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
[20:41:26] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
[20:41:30] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
[20:41:30]Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded