Verhinderung Cassandra von dumping hprof-Dateien
Ich würde gerne aufhören, Cassandra von dumping hprof-Dateien, da ich nicht benötigen, Sie zu nutzen.
Ich habe auch nur sehr begrenzte Speicherplatz (50 GB von 100 GB für Daten genutzt wird), und diese Dateien schlucken bis alle den Speicherplatz, bevor ich "Stopp" sagen.
Wie sollte ich über gehen es?
Ist es ein shell-script, dass ich verwenden könnte, löschen Sie diese Dateien von Zeit zu Zeit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es geschieht, weil Cassandra beginnt mit
-XX:+HeapDumpOnOutOfMemoryError
Java-option. Das ist gutes Zeug, wenn Sie möchten, zu analysieren. Auch, wenn Sie sind immer viele heap-dump, die angeben, dass Sie sollten wahrscheinlich optimieren Sie den verfügbaren Speicher zu Cassandra.Ich habe es nicht ausprobiert. Jedoch blockieren diese option, kommentieren Sie die folgende Zeile in
$CASSANDRA_HOME/conf/cassandra-env.sh
Optional, Sie können einen Kommentar in diesem block auch, aber nicht wirklich notwendig, denke ich. Dieser block ist in 1.0+ version, denke ich. Ich kann nicht finden, diese in 0.7.3.
Lassen Sie mich wissen, ob dies funktioniert.
Update
Wenn Sie möchten, deaktivieren Sie die JVM-heap-dump insgesamt finden Sie hier zum deaktivieren der Erstellung von java-heap-dump nach der VM abstürzt?
Ich gebe zu, ich habe nicht verwendet, Cassandra, aber was ich sagen kann, es sollte nicht sein, dumping alle hprof-Dateien, es sei denn, Sie aktivieren es zur compile-Zeit, oder das Programm erfährt eine OutofMemoryException. Also versuchen Sie es suchen.
in Bezug auf ein shell-Skript, wenn die Dateien gedumpt zu einem bestimmten Standort können Sie mit diesem Befehl löschen Sie alle *.hprof-Dateien.
diese ist mit der
-delete
Richtlinie vonfind
dass löscht alle Dateien, die mit dem Suchbegriff übereinstimmen. Schauen Sie auf der man-Seite finden Sie weitere Optionen für die Suche, wenn Sie brauchen, um einzugrenzen, mehr.Können Sie
cron
zum ausführen eines Skripts zu einem bestimmten Zeitpunkt, die befriedigen würde, Ihre "Zeit zu Zeit" - Anforderung, die meisten linux-Distributionen haben einen cron installiert, und arbeiten aus einercrontab
- Datei. Sie können herausfinden, mehr über die crontab mithilfeman crontab
Selbst wenn Sie update cassandra-env.sh auf den heapdump Pfad wird es noch nicht funktionieren. Der Grund war, dass aus der upstart-Skript /etc/init.d/cassandra gibt es diese Zeile erstellt die Standard-HeapDump Pfad
Ich bin nicht ein Emporkömmling Experte, aber was ich Tat, war Sie gerade entfernt die param-der schafft das doppelte. Eine weitere seltsame Beobachtung auch beim Check-cassandra-Prozess über ps aux Sie feststellen, dass Sie werden sehen, dass einige Parameter zweimal geschrieben. Wenn Sie die Quelle cassandra-env.sh und print $JVM_OPTS Sie werden bemerken, die Variablen in Ordnung.