Have a Question?
Print

KB – Memory Concerns with BBjGridExWidget

Problem

When implementing BBjGridexWidget for BBj GUI, you might observe several Chromium processes started on the Client, running simultaneously and consuming a visible amount of memory. The simultaneous processes are most noticeable on Windows systems when inspecting TaskManager, but they also exist on other operating systems.

This is because BBjGridExWidget, when used in conjunction with BBj GUI, is embedded in a Chromium browser, which builds on a 3rd party Javascript library.

The number of Chromium processes is not a problem. You will also notice that Chrome spawns multiple processes you see in the task manager on Windows, even if you’re using a single Chrome or Edge browser window.

With BBj’s default configuration, all BBj windows with HTMLView controls hosting a BBjGridExWidget share the same main process if they are served from the same BBj Desktop App link or Desktop icon. That means that all BBj windows should have a shared memory need with only a small incremental increase per additional location. Note that you can easily misconfigure this if you configure the STBL(“!CHROMIUM_DIR”…) setting. If !CHROMIUM_DIR is configured for individual directories, then the application will have a separate Chrome instance for each configured directory.

In our experience, the usage of BBjHTMLView increases the client-side memory needs by a minimum of 200-250MB and can – when used in many places – reach 400-500 MB. This memory has to be present as physical memory in addition to the usual memory that the BBj GUI Thin Client needs. This results in a typical 1GB memory for the BBj client per user, plus the needs of the operating system itself and other applications running simultaneously on the client. 

A Windows Terminal server not configured to provide sufficient memory for all users will either result in sluggish UI behavior (as Windows uses swap memory space on disk) or content not rendering when the OS runs out of memory.

There is no configuration option to reduce the memory needs of the Chromium processes below the requirements described above. The only way to address the issue is to configure enough memory.

NOTE: BBj BUI and DWC run in a browser, so this extra memory requirement for a BBjHTMLView (BBjGridExWidget) does not apply in these clients.

Table of Contents
Scroll to Top