Quiero hacer algunas pruebas con pocos recursos y para eso necesito tener el 90 % de la memoria libre llena.
¿Cómo puedo hacer esto en un *nix
? sistema?
Respuesta aceptada:
stress-ng es un generador de carga de trabajo que simula el estrés de cpu/mem/io/hdd en sistemas POSIX. Esta llamada debería funcionar en Linux <3.14:
stress-ng --vm-bytes $(awk '/MemFree/{printf "%dn", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
Para Linux>=3.14, puede usar MemAvailable
en lugar de estimar la memoria disponible para nuevos procesos sin intercambiar:
stress-ng --vm-bytes $(awk '/MemAvailable/{printf "%dn", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
Adaptar el /proc/meminfo
llama con free(1)
/vm_stat(1)
/etc. si lo necesitas portátil. Consulte también la wiki de referencia para stress-ng para obtener más ejemplos de uso.