Memory Monitor

The Memory Monitor keeps track of the memory usage during memory intensive operations such as Build and Linting (Verissimo) and notifies you when:

  • The operation in progress is significantly slowed down by low memory:

../../_images/vscode_memory_monitor_warning_console_message.png
  • A memory starvation state is reached

../../_images/vscode_memory_monitor_error_console_message.png

Note

Memory starvation happens when the active Language Server (the one that the VS Code client is connected to) struggles to cope with insufficient memory and ultimately leads to major performance degradation. This can easily be fixed by allocating enough memory to fit the project’s size.

Such messages will be printed to console - see Output and logging. In the DVT IDE for Visual Studio Code you will also get feedback via:

  • a pop-up notification

../../_images/vscode_memory_monitor_warning_popup.png
../../_images/vscode_memory_monitor_error_popup.png
  • a problem in the Problems View

../../_images/vscode_memory_monitor_warning_problems_view.png
../../_images/vscode_memory_monitor_error_problems_view.png
  • an item in Status Bar

../../_images/vscode_memory_monitor_warning_item.png
../../_images/vscode_memory_monitor_error_item.png

You can disable the warning notifications by:

  • choosing the Don’t show again option from the pop-up notification

  • disabling the Display Memory Warning preference from File ‣ Preferences ‣ Settings ‣ Extensions ‣ DVT ‣ Memory Monitor

../../_images/vscode_memory_monitor_preference_page.png

To disable the Memory Monitor, add the +dvt_disable_memory_starvation_handling directive in the build configuration file.

To generate Memory Monitor debug information, add the +dvt_enable_memory_starvation_handling_debug directive in the build configuration file. Afterwards, the next monitoring session will generate a log file dvt_memory_monitor_<timestamp>.log in the project’s root.

By default, when memory usage exceeds 90% a warning is issued, and when significant performance degradation is observed due to excessive GC, the monitored operation is stopped.

Use +dvt_memory_starvation_handling to select a different memory starvation handling strategy. Available are:

  • proactive - warnings disabled, stops the monitored operation when it detects memory usage above 90%. Example: +dvt_enable_memory_starvation_handling+proactive

Note

For advanced debugging, you can control Memory Monitor parameters using the following directive:

+dvt_set_memory_starvation_handling_parameters+start_delay=<time_in_ms>+warning_th=<used_mem_percent>+gc_time=<gc_percent_time>+time_window=<build_time_percent>+stop_operation_th=<stop_operation_percentage>+ignoreWarning