Ich arbeite an einer C++-Anwendung, die für einen Batch-Lauf eine große Menge an Speicher benötigt. (> 20gb)
Einige meiner Kunden stoßen an die Grenzen des Arbeitsspeichers, so dass das Betriebssystem manchmal mit dem Swapping beginnt und sich die Gesamtlaufzeit verdoppelt oder sogar noch schlimmer wird.
Ich habe gelesen, dass ich mlockall verwenden kann, um zu verhindern, dass der Prozess ausgelagert wird. Was würde passieren, wenn der Speicherbedarf des Prozesses den verfügbaren physischen Speicher auf diese Weise erreicht oder überschreitet?
Ich vermute, die Antwort könnte betriebssystemspezifisch sein, also geben Sie bitte das Betriebssystem in Ihrer Antwort an.