I'm getting this error when I'm running long test cases. mainly this happens with Jenkins.
OS : Ubuntu 18.04
Docker Version: 19.03.8
Docker API version: 1.40
No Of Containers : 4
RAM : 30GB
Processor : i7 9700k
browsers.json
    {
    "chrome": {
        "default": "81.0",
        "versions": {
            "81.0": {
                "image": "selenoid/vnc:chrome_81.0",
                "port": "4444",
                "path": "/",
                "shmSize" : 1068435456
            },
            "80.0": {
                "image": "selenoid/vnc:chrome_80.0",
                "port": "4444",
                "path": "/",
                "shmSize" : 1068435456
            },
            "79.0": {
                "image": "selenoid/vnc:chrome_79.0",
                "port": "4444",
                "path": "/",
                "shmSize" : 1068435456
            }
        }
    }
}
Error output:
  { TimeoutError: timeout: Timed out receiving message from renderer: 300.000
    matchdciprotractor_1   |   (Session info: chrome=81.0.4044.92)
    matchdciprotractor_1   |   (Driver info: chromedriver=81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}),platform=Linux 5.3.0-46-generic x86_64)
    matchdciprotractor_1   |     at Object.checkLegacyResponse (/protractor/node_modules/selenium-webdriver/lib/error.js:546:15)
    matchdciprotractor_1   |     at parseHttpResponse (/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
    matchdciprotractor_1   |     at doSend.then.response (/protractor/node_modules/selenium-webdriver/lib/http.js:441:30)
    matchdciprotractor_1   |     at process._tickCallback (internal/process/next_tick.js:68:7)
    matchdciprotractor_1   | From: Task: WebDriver.switchTo().defaultContent()
    matchdciprotractor_1   |     at thenableWebDriverProxy.schedule (/protractor/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
    matchdciprotractor_1   |     at TargetLocator.defaultContent (/protractor/node_modules/selenium-webdriver/lib/webdriver.js:1798:25)
    matchdciprotractor_1   |     at Function.<anonymous> (/protractor/src/elements/utils.ts:112:38)
    matchdciprotractor_1   |     at step (/protractor/dist/src/elements/utils.js:44:23)
    matchdciprotractor_1   |     at Object.next (/protractor/dist/src/elements/utils.js:25:53)
    matchdciprotractor_1   |     at /protractor/dist/src/elements/utils.js:19:71
    matchdciprotractor_1   |     at new Promise (<anonymous>)
    matchdciprotractor_1   |     at __awaiter (/protractor/dist/src/elements/utils.js:15:12)
    matchdciprotractor_1   |     at Function.Utils.doSwitch (/protractor/dist/src/elements/utils.js:179:16)
    matchdciprotractor_1   |     at Function.<anonymous> (/protractor/src/elements/utils.ts:98:20) name: 'TimeoutError', remoteStacktrace: '' }