## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.

## Lower parallel compilation jobs to 1 if less than 2 GB RAM to avoid freezing of virtual machines.
## This does not necessarily belong into security-misc.
##
## Example here:
## https://forums.whonix.org/t/linux-kernel-runtime-guard-lkrg-linux-kernel-runtime-integrity-checking-and-exploit-detection/8477/26
##
## This might no longer be possible in the future. See:
## "Stop handling dkms.conf as a bash/shell script"
## https://github.com/dell/dkms/issues/414
ENOUGH_RAM="1950"
total_ram="$(LC_ALL=C free -m | sed  -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p')"
if [ "$total_ram" -ge "$ENOUGH_RAM" ]; then
   true "INFO: Enough RAM available. Not lowering compilation cores."
else
   true "INFO: Not enough RAM available. Lowering compilation cores to 1."
   parallel_jobs=1
fi
