Siempre es útil simplemente buscar en Google el error exacto que está viendo, excluyendo detalles como la memoria real del vector. Para mí, el primer éxito fue una documentación interesante llamada " R: límites de memoria de R ", donde, bajo "Unix", se puede leer:
El límite de espacio de direcciones es específico del sistema: los sistemas operativos de 32 bits imponen un límite de no más de 4 Gb: a menudo es de 3 Gb. La ejecución de ejecutables de 32 bits en un sistema operativo de 64 bits tendrá límites similares: los ejecutables de 64 bits tendrán un límite específico del sistema esencialmente infinito (por ejemplo, 128Tb para Linux en cpus x86_64).
Consulte la ayuda del sistema operativo / shell en comandos como limit o ulimit para saber cómo imponer limitaciones a los recursos disponibles para un solo proceso. Por ejemplo, un usuario bash podría usar
ulimit -t 600 -v 4000000
mientras que un usuario csh podría usar
limit cputime 10m
limit vmemoryuse 4096m
limitar un proceso a 10 minutos de tiempo de CPU y (aproximadamente) 4 Gb de memoria virtual. (Hay otras opciones para configurar la RAM en uso, pero generalmente no se cumplen).
Entonces, deberías comprobar
- ¿Qué tipo de sistema operativo está ejecutando en su instancia EC2?
- ¿Qué tipo de compilación R está ejecutando en ese sistema operativo y asegúrese de ejecutar una versión de 64 bits?
- Si ambos ya tienen 64 bits, utilícelos
ulimit
para configurar la memoria en, por ejemplo, 8 Gb:ulimit -v 8000000