1.2.10.1. Improvements to PLMs

  1. Any non-CAD conversion is now hosted in a dedicated host. We previously used the ptranslatorhost for this, but there were cases where the process got stuck before work was off-loaded to the external host. This should no longer happen (see Issue #149461)

  2. The RAM usage of all processes involved in the conversion (either the CAD or the new host mentioned above) is now monitored. If RAM usage exceeds 80% of available memory, we'll kill the host and try again. This can be configured in pdmProxies.cfg, section [PdmProxyTranslator]:

    • BatchMemoryAbsLimit=x

      In MB. The maximum amount of RAM that can be used, e.g. 8192

    • BatchMemoryRelLimit=x

      0-1, percentage. Decides on a limit based on the total available memory, e.g. if you have 8 GB installed RAM, 0.8 means 6554 MB can used by the conversion.

    By default, this is set to use 80% of the installed RAM. The check can be disabled by setting both settings to -1. If both settings are enabled, the absolute memory limit will win.

    [Caution]Caution

    Any settings you have made in the worker (e.g. ABORTMEMLIMIT, RESTARTMEMLIMIT) only apply to the psworker.exe, not the conversion hosts. These settings can be left on default. Please use the new settings mentioned above to enforce a sensible memory limit. Also, keep in mind that, for example, running 8 jobs on the same machine requires different settings than running 1 job on the machine.

    As a rule of thumb: Set the BatchMemoryRelLimit to 1/jobs per machine. If you are running 8 jobs in parallel, a good memory limit would be 0.125 (which results in a limit of 12,5% of available RAM per job). If you are running 2 jobs in parallel, a good memory limit would be 0.5... and so on. Depending on other processes running on the host, you might also want to reserve some memory for these (e.g. if the pappserver is running on the same machine, please reserve a sensible amount of memory for it).