Voglio eseguire alcuni test con risorse limitate e per questo ho bisogno di avere il 90% della memoria libera piena.
Come posso farlo su un *nix
sistema?
Risposta accettata:
stress-ng è un generatore di carichi di lavoro che simula lo stress cpu/mem/io/hdd sui sistemi POSIX. Questa chiamata dovrebbe fare il trucco su Linux <3.14:
stress-ng --vm-bytes $(awk '/MemFree/{printf "%dn", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
Per Linux>=3.14, puoi usare MemAvailable
invece per stimare la memoria disponibile per i nuovi processi senza scambiare:
stress-ng --vm-bytes $(awk '/MemAvailable/{printf "%dn", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
Adatta il /proc/meminfo
chiama con free(1)
/vm_stat(1)
/eccetera. se ne hai bisogno portatile. Vedi anche il wiki di riferimento per stress-ng per ulteriori esempi di utilizzo.