2016-10-16 4 views
0

Hallo Ich habe einen Speicherverlust auf meinem Server, den ich finde es schwer zu verfolgen, anscheinend ist auch Unterstützung. Sie sagten mir, ich solle versuchen, einen Cron zu schreiben, um zu erkennen, wenn mein Server wenig Speicher hat, aber ich habe keine Ahnung, wie ich das machen soll.Cron zum Erkennen von wenig verfügbarem Speicher

Ich benutze PHP meine apps auf einem VPS-Server zu bauen mit CentOS6 installiert ..

Antwort

1

von https://cookbook.wdt.io/memory.html Zitiert:

kostenlos ist ein Standard-Unix-Befehl, den Speicher verwendet und zur Verfügung stellt. Wird mit den Optionen -m verwendet, werden die Werte in Megabyte ausgegeben. Der letzte Wert in der Zeile "-/+ buffers/cache:" zeigt den gesamten verfügbaren Speicher an. Also können wir grep und awk verwenden, um diesen Wert zu erhalten und ihn in eine Zahl umzuwandeln.

free -m | grep cache: | awk '{ print int($NF) }'

*/5 * * * * ((`frei -m | grep Cache: | awk '{print int ($ NF)}' '> = 50)) & & curl -sm 30 http://any_monitoring_url

die „curl ... any_monitoring_url“ in dem obigen Beispiel wird ein externes Überwachungssystem wie the one we built (wdt.io) Pingen Speicherlecks zu fangen und dann E-Mail/SMS/Sie schlaff. Dieser Schritt ist nicht unbedingt notwendig. Sie könnten etwas so einfaches wie touch file_to_check_timestamp oder echo "Low Memory!" >> file_to_check_for_low_memory_alerts tun. Das Problem besteht darin, dass, wenn Speicher (oder CPU oder Festplattenspeicher) fixiert werden, Sie deadlock treffen und die geplante Cron-Task möglicherweise nicht ausgeführt wird. Daher der Wert eines Monitors eines Drittanbieters.

Siehe auch unsere Artikel über Cron-Überwachung CPU und Disk Space und other recipes, falls sie auch von Wert sind.

Verwandte Themen