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:
A memory starvation state is reached
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
a problem in the Problems View
an item in Status Bar
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
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