Estoy usando Ubuntu 14.04. Recientemente, cuando inicio sesión a través de SSH con mi usuario con privilegios de sudo, cada comando que ejecuto da como resultado un error de "No se puede asignar memoria". Aquí hay algunos que probé en mi consola
myuser@mymachine:~$ whoami
-bash: fork: Cannot allocate memory
myuser@mymachine:~$ uname -a
-bash: fork: Cannot allocate memory
Incluso si lo intento sudo reboot now
, aparece el error anterior, así que no sé qué más puedo intentar desbloquear mi instancia. El host es DigitalOcean si eso importa.
Editar: Por la respuesta / sugerencia dada aquí es la salida de "gratis"
myuser@mymachine:~$ free
-bash: fork: Cannot allocate memory
sudo sysctl -w vm.oom_kill_allocating_task=1
o permanentemente encendido/etc/sysctl.conf
?sudo reboot
antes de ejecutar esto. ¡Gracias!Para completar la respuesta aceptada, hay una cosa adicional a tener en cuenta: su sistema puede quedarse sin identificadores de archivos o incluso buffers de zócalo y aún así tiene mucha memoria mientras da el mismo error. Esto es especialmente cierto si el alojamiento compartido impone límites de tal naturaleza. En los sistemas OpenVZ, mire el contenido de
Esto le dará en la columna de la derecha los primeros excesos. Si esto es cierto, muévase a un paquete de alojamiento más grande o busque al culpable más probable: la base de datos mysql o mariadb que puede, en presencia de una aplicación PHP defectuosa, filtrar los archivos a cientos por segundo.
Esto también puede suceder si su servidor web tiene ssh abierto a Internet y acepta inicios de sesión de nombre de usuario / contraseña: incluso si tiene el funcionamiento de fail2ban, puede haber atraído un intento de interrupción del diccionario distribuido que también consume muchos recursos.
fuente