![]() |
Berechnen, wann eine Platte keinen Speicherplatz mehr hat ??
Hallo zusammen,
ich brauche mal einen Denkanstoß. Mein Programm ![]() |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Du nimmst dir die letzen X Samples und rechnest darauf das Füllstandsdelta pro Zeit aus. Dann teilst du den freien Speicherplatz durch das Ergebnis und wandelst alles in eine sinnvolle Zeiteinheit um - fertig.
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
Zitat:
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Bei diesen Start und Zielwerten wird die Platte nie voll.
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
Zitat:
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Moin, Moin.
Ich denke, das diese Werte insgesamt recht gut zeigen, wie gewagt solche Prognosen sind. Eine "allgemeingültige Prognoseformel" kann es hier wohl nicht geben. Nutzungsbedingungen können sich ändern, die Formel müsste in gewisser Weise lernfähig sein. Grundsätzlich sollte es aber möglich sein einen Trend der Speicherbelegung zu bestimmen - also so etwas wie Dax es schon erwähnt hat. Und dieser Trend müsste regelmäßig neu berechnet werden. |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Das sind zu wenig Daten für ne gescheite Prognose. Ich nehm mal an, dass du da eher an Wochen und Monate, als an Minuten und Stunden denkst. Zumindest will ich nicht hoffen, dass deine Platten so schnell voll werden.
==> Nimm dir also mal die Log-Einträge der letzen sagen wir mal 4 Wochen. Jetzt gibt es mehrere Möglichkeiten, was du machen kannst. Auf jeden Fall solltest du dir aber mal die ![]() Das lässt sich natürlich noch beliebig verkomplizieren. z.B. könnte man neue Werte stärker gewichten als alte, Werte zusammenfassen um zusätzlich den Effekt von Ausreißern weiter einzuschränken, etc. Für den Anfang sollte es aber reichen einfach linear zu extrapolieren... mfg Christian |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Uhhh, bei der Hitze zu so später Stunde so viele Nullen - hihihihi. Ich kürz mal ab 78...KB/5h = -25...KB/h, also 5000..KB / 25.. KB/h -> in 2.... h ist FINITO.
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Uhhhh, diesem Rat sollte ich auch folgen: 78/5 ergibt natürlich NICHT 25
- Gute Nacht! |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Lies nochmal, was ich geschrieben hab.
a) bei so nem kurzen Zeitraum sind die Schwankungen viel zu groß. Du wirst extrem ungenau. b) halte dich nicht an Samples, sondern an Daten(im Sinne von Datum) fest. Du willst ja nicht sagen "in x Samples ist die Platte voll", sondern in x Tagen c) nur den ersten und den letzten Wert nehmen ist nicht so gut. Ausreißer können das Bild erheblich verzerren. Angenommen du hast beim letzten Wert gerade eine große Datei auf der Platte gehabt, die gleich danach wieder runtergeflogen ist. Dann würde dein Verfahren annehmen, dass die drauf bleibt und noch schlimmer: alle x Tage( bzw. momentan alle x Stunden) so eine dazukommt... ==> Methode der kleinsten Quadrate Gucks dir mal an. Wobei ich zugeben muss, dass es in der Wikipedia nicht gerade einfach beschrieben ist. Da muss ich mich auch erst wieder reindenken. Such einfach mal nach "Methode der kleinsten Quadrate" und "Regression" und versuch dabei Uni-Seiten aus dem Weg zu gehen. :zwinker: mfg Christian |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Eine (nonlineare) Regressionsanalyse dürfte die besten Prognosen auf reiner Datenbasis liefern, ob der Aufwand aber gerechtfertigt ist kann ich nicht abschätzen. Evtl. reicht auch eine lineare, aber man kann machen was man will, man hat immer die Chance extrem daneben zu liegen.
Eine Regressionsanalyse kann hübscherweise aber auch aussagen, mit welcher Wahrscheinlichkeit die Platte zum Datum X voll sein wird :) |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
man könnte doch auch "einfach" den durchschnitt berechnen und diese Gleichung dann immer wieder mit den aktuellen werten erweitern um einen ungefähren Zeitraum bestimmen zu können...
Wäre so mein erster Gedanke dazu :-) mfg |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Also ich würd das ganze einfach per Durchschnitt berechnen:
Sagen wir, ich habe nun folgende LogDaten
Code:
Jetzt würd ich den Durchschnitt der einzelnen Differenzen bilden, also
Tag Freier Platz in GB
1 100 2 95 3 103 4 20 5 78
Code:
Jetzt kenn ich die Durchschnittliche Änderung: +5,5. Wenn der Durchschnitt [bei meiner Rechnung] negativ ist, steigt der freie Speicherplatz, ist der positiv, sinkt er.
(
(100 - 95) + ( 95 - 103) + (103 - 20) + ( 20 - 78) ) / 4 Nun haben wir die Formal 78 - x*5.5 = 0 => x = 78 / 5.5 x ist die Dauer in Tagen, bis die Platte voll ist. Ist x negativ, wird sie "nie" voll. // Edit: Roter Kasten ist wohl schon im Bett :feuerchen: |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Moin, Moin.
Na, das beruhigt mich ja nun doch etwas. Abgesehen, dass mein Divisionsergebnis gestern Abend ein wenig geschwächelt hatte: Bei 78/5 waren wir doch auch schon gelandet. Als Schnellschuss aus der Hüfte also gar nicht mal so schlecht. |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
@taaktaak & littleDave: Euer Ansatz ist wirklich alles andere als optimal, worauf r2c2 ja schon hingewiesen hat:
Zitat:
![]() |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
@Khabarakh - keine Frage!
Dieser Ansatz ist wohl die absolute Minimallösung. Sie konkretisiert ja lediglich die ersten Gedanken von Rolf. Natürlich sollten die Hinweise von r2c2 weiterverfolgt werden. Wäre schon interessiert zu erfahren, in welchem Maße eine anspruchsvollere Berechnungsmethode die Prognosegenauigkeit erhöhen kann. |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Jetzt bin ich auch neugierig geworden ;-). Ich habe mal geschaut, wie "ungenau" die Durchschnittsmethode im Vergleich zur "kleinsten Quadrate" - Methode ist.
Dafür hab ich das Beispiel beim Link von Khabarakh durchgerechnet (natürlich mit einem schnell geschriebenen Delphi-Programm ;-)): Zuerst habe ich einmal den Durchschnitt der Quotienten von "Schiffbreite / Schifflänge" ausgerechnet. Dabei kommt bei der Durchschnittsrechnung ein Faktor von 0.10624 raus (beim Wikipedia-Beispiel "kleinsten Quadrate": 0.1612) Jetzt hab ich Anhand der Schiffslängen versucht, die Breite zurückzurechnen. Dabei entstehen natürlich Fehler. Nun habe den Durchschnitt der Abweichungen genommen sum("berechnete Breite - wirkliche Breite") / n und folgendes kam heraus:
Code:
Das find ich jetzt total interessant, dass die simple Durchschnittsmethode "genau" ist, als die der kleinsten Quadrate. Jetzt ist natürlich die Frage: ist das Beispiel nur schlecht gewählt bzw. eignet sich die Methode für das Anwendungsbeispiel nicht? Oder hab ich mir ganz einfach nur verrechnet?
Methode | Durchschnittliche Abweichung
------------------------------------------------------ simpler Durchschnitt | -0.58 Meter kleinsten Quadrate | 8.64 Meter |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Hallo zusammen,
ich finde Ihr quält die gute alte Mathematik zu sehr. Wie war das mit den zwei Eimern und der durchschnittlich optimalen Temperatur? Wenn ich die Ausgangsfragestellung richtig verstanden habe, geht es um einen (File-)Server auf dem verschieden Benutzer ihre Dateien ablegen. Da frage ich zuerst was für Dateien? Viele Word-Dokumente sind so zwischen 300k und 5Mb groß. Wenn die Benutzer die 5Mb-Obergrenze noch nicht geknackt haben, würde ich als Meldegrenze für den freien Plattenplatz ungefähr diese Grenze definieren: 5Mb * 2 * Anzahl Benutzer So etwas klappt natürlich nur wenn alle Leute sich in einem engen Rahmen bewegen. Ein paar bösartige Chaoten, die mal schnell eine Video-DVD auf den Server packen, lassen die Meldeschwelle natürlich heftig ansteigen. Ich empfehle zu analysieren was für Daten auf dem Server liegen und ob es Relationen zwischen der Größe und der "Bewegungshäufigkeit" gibt. Werden vor allem kleine(re) Dateien gespeichert und gelöscht sollte ein Durchschnittswert genügend Sicherheit geben. Sind für die Bewegung aber vor allem gößere Dateien verantwortlich sollte nur sie für die Abschätzung der Sicherheitsmarge genutzt werde. Nebenbei gefragt, gibt es Beziehungen zwischen Wochentagen und den Dateibewegungen? Zum Quartalsende noch einmal richtig Daten produzieren? Und meiner Meinung ganz wichtig, wann soll den "gewarnt" werden? 5 Tage bevor es knallt, weil der Lehrling noch schnell eine neue Platte holen muß? Oder reichen 2 Stunden, weil der Admin schon alles für die Kapazitätserweiterung in der Schublade hat? Im ersten Fall sollte die Schätzung sehr vorsichtig ausfallen, um genügend Sicherheit zu haben. Im zweiten Fall knirscht es mal kurz und das Leben geht weiter. (Bitte keinem Anwender erzählen!) Gruß K-H |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
@littleDave:
ich hab jetzt nicht nachgerechnet, aber ich geh mal davon aus, dass du dich nicht verrechnet hast. Allerdings hast du einen Denkfehler: Deine Methode zum ermitteln des "besseren" Ergebnisses passt genau zu deinem Algorithmus, nicht aber zur Methode der kleinsten Quadrate. Mit deinem Ansatz minimierst du direkt die durchschnittliche Abweichung. Deshalb ist dein Algo da auch mehr oder weniger unschlagbar. Die Methode der kleinsten Quadrate minimiert aber gerade nicht die durchschnittliche Abweichung, sondern die Abweichungsquadrate. Rechne mal die aus und du wirst sehen, dass dein Algo da deutlich schlechter abschneidet. Ganz einfach weil dieses Kriterium direkt zur Methode der kleinsten Quadrate passt. Da is die per Definition unschlagbar. @p80286: Zitat:
Zitat:
Jedenfalls hat deine Methoden den Nachteil, dass sie erfordert auf die jeweilige Situatuion(große/kleine Dateien, etc. wie du es schon beschrieben hast) angepasst wedren muss. Alle anderen bisher diskutierten Lösung interessiert das alles aber gar nicht. Die müssen nicht maßgeschneidert werden. Sie funktionieren einfach. Und genau das macht die Mathematik: Allgemeine Lösungen liefern. Nichts Zurechtgezimmertes, das man mit der Nagelschere auf die Anforderungen maßschneidern muss für dann zu hoffen, dass sich ja nix an den Bedingungen ändert... mfg Christian |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
Zitat:
Zitat:
Die andere Vairante ist, dass wenn das Programm meldet, das ein Volume in den gelben oder roten Bereich kommt, dann soll es noch zusätzlich anhand einer Berechnung ausgeben, das in ca. x Tagen das Volume voll ist. Dafür brauche ich die Berechnung. Da ich nie Mathe studiert habe oder in der Oberstufe auf'm Gymnasium war, bin ich da etwas hilflos mit den Formeln, von dem Link zu der ![]() Dann noch eine Frage, wieviele Werte muss ich haben, um für mein Vorhaben eine einigermaßen vernüftige Berechnung anzustellen ? |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
@r2c2
Du hast zwei Eimer. Beide haben das gleiche Volumen. Beide sind mit Wasser gefüllt. Im einen ist die Temperatur ca 80 Grad Celsius im anderen ca 0 Grad Celsius. "Statistisch gesehen hat man dan eine angehme Temperatur für ein Fußbad." OK ist ein wenig platt, zeigt aber , daß Du ohne eine hinreichend große Anzahl von Stichproben mit der Statistik keine vernünftige Aussage treffen kanst. Zitat:
Also es kommt darauf an wofür Du es brauchst. Eine IBM-Serverfarm (viele Stichproben) fährt mit der Statistik ganz gut, bei einer relativ kleinen Installation (wenige Stichproben) mußt Du eine "weiche" Korrektur einführen. Oder anders ausgedrückt lautet die Frage, kannst Du aus den Vergangenheitswerten die Zukunft hinreichend genau abschätzen und mögliche Verhaltensänderungen beachten? Gruß K-H |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
Mit der Anzahl der Stichprobem hast du aber natürlich vollkommen Recht. Hab ich oben ja auch schon erwähnt. Zitat:
Sofern sich das Verfahren also nicht eideutig in mehreren weiteren Fällen als brauchbar erweist, wäre es zumindest mir viel zu unsicher. Zitat:
@RWarnecke: Zitat:
![]() Gut, das steht jetzt unter GPL, inwieweit es also für dich interessant ist(und wie gut es ist; hab mirs nicht näher angeguckt). Wobei ich nicht denke, dass es die einzige Implementietrung ist. Such einfach mal. Alternativ kannst du natürlich auch eine der anderen hier angesprochenen Lösungswege gehen. Die sind allesamt einfacher, wenngleich das Ergebnis etwas "schlechter" sein dürfte. Über die Vor- und Nachteile haben wir ja diskutiert... [1] Wer das nicht kennen sollte: Physiker: "Alle ungeraden Zahlen sind Primzahlen. Beweis: 3 ist prim, 5 ist prim 7 ist prim, 9 ist.... äh.... Messfahler, 11 ist prim, 13 ist prim... Passt!" [2] Was nicht heißt, dass ich jetzt Zeit oder Lust dazu hätte. Beweis dur Lehrbuch: Entsprechende Beweise lassen sich in den einschlägigen Werken nachlesen. qed mfg Christian |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Ich werfe noch einmal die
![]() Ein weniger komplizierter Weg zu etwas ähnlichem kann evtl. auch so aussehen: Du nimmst Messwerte aus der Vergangenheit, und trägst sie grafisch in ein Koordinatensystem ein (Freier Speicher, jede Stunde z.B.). Dann schaust du dir den Verlauf an, und vergleichst es mit Verläufen von diversen Standardfunktionen (Parabel, Exponentialfunktion, Gerade, Sinus, etc.). Die ähnlichste Funktion schnappst du dir, und drehst an ihren Parametern so, dass die Funktion wenn sie in das Koordinatensystem eingetragen wird, möglichst überall ausreichend nah an den Messwerten liegt. (Hier und da kann man dann noch weitere Funktionen "aufmodulieren" um das zu verbessern. Bsp.: Eine wellig verlaufende Linie wird wohl besser von etwas der Form "y=a*x+sin(x)" beschrieben, als nur von "y=a*x".) Von da an kannst du Extrapolieren. Nachteil: Man schätzt eine Schätung -> es ist schon noch irgendwo "Gefummel", und man benötigt Messdaten aus der Vergangenheit. Je mehr desto besser! So in etwa arbeitet die Regressionsanalyse, nur wird dabei noch die Güte der Schätzung in Zahlen bewertet, man kann Wahrscheinlichkeiten für Wertebereiche ermitteln, und, und das ist die eigentliche Stärke, man kann mehr als nur eine Einflussgröße verwenden (also mehr als wie hier die vergangene Zeit z.B.) - wobei man hier vermutlich schwer weitere in Zahlen ausdrückbare Konditionen finden kann, die die Schätzung wirklich verbessern. Allerdings habe ich ebenfalls die Erfahrung gemacht, dass es sich gerade bei solchen Problemen herausstellt, dass empirische Modelle (wie von p80286 vorgeschlagen) meistens die Nase deutlich vorne haben, sowohl in Genauigkeit der Vorhersagen, als auch vor allem in der Zeit in der man sie implementiert hat! Und was ist schlimm daran eine Speziallösung zu entwickeln, wenn es nur für einen Kunden ist? Der WILL ja schließlich eine Speziallösung, sonst bräuchte er den TE nicht um sie zu schreiben. Damit komme ich zum Fazit: Du kannst gerne mit diversen mathematischen Verfahren rumtesten, es ist ein total interessantes Themengebiet, aber wenn du eine praktikable Lösung zeitnah zum Kunden tragen willst, dann besorg dir Messwerte und gehe ähnlich wie p80286 vor. Ich bin ja auch ein Fan von möglichst allgemeinen Lösungen, Mathe insbesondere, und einfach "schönen" Konstrukten. Aber in der "realen Welt" gehts halt darum, dass es klappt, und das nicht erst nächstes Weihnachten. Ich muss mich da aber auch regelmäßig von meinem Chef auf den Teppich runter zerren lassen ;). [1] "Kann", da es noch auf die Wahl der Funktionsbasis ankommt, und auch noch auf die Skalierung und Verteilung der Basisdaten. |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
![]() |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
|
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Mh, okay, dann muss es wohl in der Tat so generisch wie möglich sein. Ich weiss grad nicht, wie ich darauf gekommen bin, dass es eine Speziallösung sein sollte :oops:
Da wird es dann aber echt kompliziert. Stelle sir folgendes Szenario vor: Datum 1: 200 GB frei Datum 2: 310 GB frei Datum 3: 120 GB frei Datum 4: 230 GB frei Sowas kann man nun durch eine leicht steigende sinusartige Funktion annähern, wodurch die Platte recht spät voll würde, oder man kann es über ein Polynom 3. Grades annähern, wo die Schätzung erheblich eher eine volle Platte postulieren würde. Die zwei vorhersagen wären so sehr unterschiedlich, dass sie keine sinnvolle Information mehr enthält. In dem Fall könnte ich es mir fast noch vorstellen, dass ein N-Tage Durchschnitt nicht übel ist. Extrapolieren würde ich dann über eine Gerade, die durch die Durchschnittskurve eine Sekante bildet, die beim letzten Wert, und dem Wert vor N Tagen schneidet. Die Varianz der Geraden zu den real gemessenen Werten in diesem Zeitraum könnte man dann zu einer Angabe verwursten, wie wahrscheinlich das Vollwerden zu einem Zeitpunkt ist. Aber das ist auch eher eine Methode, die ich mir gerade ausgedacht habe, die vermutlich keine mathem. nachweisbare Qualität besitzt. Ich kann mir lediglich vorstellen, dass das in vielen Fällen sinnvolle Werte ergibt. Feintunen kann man dann über die Wahl von N, und man könnte bei großen N überlegen, ob man aktuellere Tage nicht stärker gewichtet als weiter vergangene, so dass man auch noch über eine Gewichtungsfuntkion tunen kann. Das ist dann Ausprobieren :) |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Zitat:
Mir ist ja auch klar, das ich nie eine korrekte Aussage machen kann. Da das ja alles nicht so einfach ist, ist vielleicht das Anzeigen der Tendenz einfacher zu Berechnen und anzuzeigen ? Das ich im Grunde nur anzeige, in welche Richtung mein freier Speicherplatz geht, ob nach oben oder unten oder stagniert. |
Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha
Liste der Anhänge anzeigen (Anzahl: 1)
Das ist ja, was ich mit meiner beschrieben Idee versuche. Ich hab das mal beispielhaft gebaut, und die angehängte Grafik verdeutlich evtl. was ich da vor hatte. Man muss nur etwas damit spielen, über welchen Zeitraum man den Durchschnitt bilden möchte. (Solche N-Tage Durchschnittslinien werden u.a. auch an der Bösre als Kursindikator herangezogen, neben natürlich anderen Analyseverfahren.)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz