Ich benutze Ubuntu 14.04. Wenn ich mich kürzlich mit meinem Benutzer mit sudo-Berechtigungen über SSH anmelde, führt jeder Befehl, den ich ausführe, zu dem Fehler "Speicher kann nicht zugewiesen werden". Hier sind einige, die ich an meiner Konsole ausprobiert habe
myuser@mymachine:~$ whoami
-bash: fork: Cannot allocate memory
myuser@mymachine:~$ uname -a
-bash: fork: Cannot allocate memory
Selbst wenn ich versuche sudo reboot now
, den obigen Fehler zu erhalten, weiß ich nicht, was ich sonst noch versuchen kann, um meine Instanz zu entsperren. Der Host ist DigitalOcean, wenn das wichtig ist.
Edit: Laut der hier gegebenen Antwort / des Vorschlags ist die Ausgabe von "frei"
myuser@mymachine:~$ free
-bash: fork: Cannot allocate memory
sudo sysctl -w vm.oom_kill_allocating_task=1
oder dauerhaft an/etc/sysctl.conf
.sudo reboot
bevor ich das rannte. Vielen Dank!Um die akzeptierte Antwort zu vervollständigen, muss noch Folgendes beachtet werden: Auf Ihrem System sind möglicherweise keine Datei-Handles oder sogar Socket-Puffer mehr verfügbar, und es ist immer noch viel Speicher vorhanden, während derselbe Fehler ausgegeben wird. Dies gilt insbesondere dann, wenn das Shared Hosting derartige Grenzen setzt. Beobachten Sie auf OpenVZ-Systemen den Inhalt von
Dies gibt Ihnen in der äußersten rechten Spalte die ersten Überschreitungen. Wenn dies zutrifft, wechseln Sie entweder zu einem größeren Hosting-Paket oder suchen Sie nach dem wahrscheinlichsten Schuldigen: der mysql- oder mariadb-Datenbank, die möglicherweise bei Vorhandensein einer defekten PHP-App die Dateihandles auf Hunderte pro Sekunde verliert.
Dies kann auch passieren, wenn Ihr Webserver ssh für das Internet geöffnet hat und Benutzernamen / Passwort-Anmeldungen akzeptiert: Selbst wenn fail2ban ausgeführt wird, haben Sie möglicherweise eine Unterbrechung des verteilten Wörterbuchs festgestellt, die ebenfalls viele Ressourcen verbraucht.
quelle