 |
| |
|
|
 |
Autor |
Nachricht |
 |
| |
| RWarnecke |
#1| Verfasst am: 02.07.2008, 21:34 Titel: Berechnen, wann eine Platte keinen Speicherplatz mehr hat ?? |
 |
 |
 |
|
sehr aktives Mitglied Alter: 31 Status: offline Beiträge: 1.000 angemeldet: 31.12.2004 Wohnort: Stuttgart Turbo Delphi für Win32

|
Hallo zusammen,
ich brauche mal einen Denkanstoß. Mein Programm Zeus überwacht den Speicherplatz von Servervolumes. In der neuen Version zeichne in einem LOG-File in bestimmten Abständen auf, wieviel Speicherplatz belegt ist und wieviel Frei ist. Die Abstände werden in Minuten angegeben und können vom User selber gewählt werden. So nun ist die Frage, wie berechene ich nun den ungefähren Zeitpunkt, wann das Volume keinen speicherplatz mehr hat ? |
 CopyAndSync 1.6.1 ; SystemInfo 1.5.0 ; Zeus 0.6.0
BIS Tipps & Tricks
Zuletzt bearbeitet von RWarnecke am 02.07.2008, 21:35, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
|
|
| |
| RWarnecke |
#3| Verfasst am: 02.07.2008, 21:47 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 31 Status: offline Beiträge: 1.000 angemeldet: 31.12.2004 Wohnort: Stuttgart Turbo Delphi für Win32

|
| Dax hat folgendes geschrieben: | | Du nimmst dir die letzen X Samples und rechnest darauf das Füllstandsdelta pro Zeit aus. |
Den Satz kapiere ich irgendwie nicht. Ich habe zum Beispiel folgendes LOG-File: (Angaben in KB)
| Zitat: |
02.07.2008 - 20:00 - 10000000
02.07.2008 - 20:20 - 9500150
02.07.2008 - 20:40 - 9300000
02.07.2008 - 21:00 - 9250000
02.07.2008 - 21:20 - 9245000
02.07.2008 - 21:40 - 9500000
02.07.2008 - 22:00 - 9450345
02.07.2008 - 22:20 - 9300000
02.07.2008 - 22:40 - 9245000
02.07.2008 - 23:00 - 11000000
02.07.2008 - 23:20 - 10900400
02.07.2008 - 23:40 - 10850000
02.07.2008 - 00:00 - 10850450
02.07.2008 - 00:20 - 10700000
02.07.2008 - 00:40 - 10000000
|
Ich habe hier ja ein auf und ein ab, weil ja mal was gespeichert wird und mal etwas gelöscht wird. Ich habe da keinen Plan, wie ich das in eine vernünftige Formel oder so packen kann. Woher weiß ich jetzt, wann meine Platte ungefähr voll ist ? |
 CopyAndSync 1.6.1 ; SystemInfo 1.5.0 ; Zeus 0.6.0
BIS Tipps & Tricks
Zuletzt bearbeitet von RWarnecke am 02.07.2008, 21:48, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| Bernhard Geyer |
#4| Verfasst am: 02.07.2008, 21:50 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 35 Status: offline Beiträge: 7.797 angemeldet: 13.08.2002 Wohnort: Oberreichenbach Delphi 6 Professional

|
Bei diesen Start und Zielwerten wird die Platte nie voll. |
 Windows Vista - Eine neue Erfahrung in Fehlern. |
 |
|
|
|
| |
| RWarnecke |
#5| Verfasst am: 02.07.2008, 22:01 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 31 Status: offline Beiträge: 1.000 angemeldet: 31.12.2004 Wohnort: Stuttgart Turbo Delphi für Win32

|
| Bernhard Geyer hat folgendes geschrieben: | | Bei diesen Start und Zielwerten wird die Platte nie voll. |
Ok, ist vielleicht ein schlechtes Beispiel. Das hier müsste aber besser passen :
| Zitat: |
02.07.2008 - 20:00 - 10000000
02.07.2008 - 20:20 - 9500150
02.07.2008 - 20:40 - 9300000
02.07.2008 - 21:00 - 9250000
02.07.2008 - 21:20 - 9245000
02.07.2008 - 21:40 - 9500000
02.07.2008 - 22:00 - 9450345
02.07.2008 - 22:20 - 9300000
02.07.2008 - 22:40 - 9245000
02.07.2008 - 23:00 - 9250000
02.07.2008 - 23:20 - 9249900
02.07.2008 - 23:40 - 9245934
03.07.2008 - 00:00 - 9243456
03.07.2008 - 00:20 - 9234700
03.07.2008 - 00:40 - 9233400
03.07.2008 - 01:00 - 9220000
|
Jetzt geht ja die Kurve deutlich nach unten. Ist das ein besseres Beispiel ? |
 CopyAndSync 1.6.1 ; SystemInfo 1.5.0 ; Zeus 0.6.0
BIS Tipps & Tricks
Zuletzt bearbeitet von RWarnecke am 02.07.2008, 22:24, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| taaktaak |
#6| Verfasst am: 02.07.2008, 22:11 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 51 Status: offline Beiträge: 853 angemeldet: 25.10.2007 Wohnort: Hamburg Delphi 7 Professional

|
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. |
 Gruß Ralph
rzMagnifier - Bildschirmlupe+ColorPicker
Zuletzt bearbeitet von taaktaak am 02.07.2008, 22:12, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| r2c2 |
#7| Verfasst am: 02.07.2008, 22:17 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 781 angemeldet: 09.05.2005 Wohnort: Rhoihesse Turbo Delphi für Win32

|
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 Methode der kleinsten Quadrate angucken. Damit kannst du dann z.B. linear extrapolieren.
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 |

Kaum macht man's richtig, schon klappts! |
 |
|
|
|
| |
| RWarnecke |
#8| Verfasst am: 02.07.2008, 22:22 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 31 Status: offline Beiträge: 1.000 angemeldet: 31.12.2004 Wohnort: Stuttgart Turbo Delphi für Win32

|
| taaktaak hat folgendes geschrieben: | 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. |
Ok, das habe ich jetzt verstanden. Mir war ja von anfang an klar, dass ich keinen genauen Zeitpunkt sagen kann. Aber wie berechne ich nun den Trend anhand meines zweiten Beispiels ? Muss ich dazu nur die 10000000 KB - 9220000 KB rechnen. Dann weiß ich das in 5 Stunden sich der Speicherplatz um 780000 KB verringert hat. Mein Volume hat aber noch einen freien Speicherplatz von 5000000 KB um 01:00 Uhr. Muss ich dann jetzt (5000000 KB / 780000 KB) * 5 Stunden rechnen ? Wenn ja, wäre es dann richtig, dass das Volume in ca. 32 Stunden voll ist, wenn der Trend so weitergeht ? |
 CopyAndSync 1.6.1 ; SystemInfo 1.5.0 ; Zeus 0.6.0
BIS Tipps & Tricks |
 |
|
|
|
| |
| taaktaak |
#9| Verfasst am: 02.07.2008, 22:32 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 51 Status: offline Beiträge: 853 angemeldet: 25.10.2007 Wohnort: Hamburg Delphi 7 Professional

|
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. |
 Gruß Ralph
rzMagnifier - Bildschirmlupe+ColorPicker |
 |
|
|
|
| |
| RWarnecke |
#10| Verfasst am: 02.07.2008, 22:43 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 31 Status: offline Beiträge: 1.000 angemeldet: 31.12.2004 Wohnort: Stuttgart Turbo Delphi für Win32

|
| taaktaak hat folgendes geschrieben: | | 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. |
Wie kommst Du hier auf die -25...KB/h ? Wenn ich hier den einfach 3-Satz anwende komme ich auf einen ganz anderen Wert. Ich glaube ich mache für heute Schluss, denn ich blicke gerade garnichts mehr. Werde mich aber morgen nochmal dahinter klemmen. |
 CopyAndSync 1.6.1 ; SystemInfo 1.5.0 ; Zeus 0.6.0
BIS Tipps & Tricks |
 |
|
|
|
| |
| taaktaak |
#11| Verfasst am: 02.07.2008, 22:45 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 51 Status: offline Beiträge: 853 angemeldet: 25.10.2007 Wohnort: Hamburg Delphi 7 Professional

|
Uhhhh, diesem Rat sollte ich auch folgen: 78/5 ergibt natürlich NICHT 25
- Gute Nacht! |
 Gruß Ralph
rzMagnifier - Bildschirmlupe+ColorPicker |
 |
|
|
|
| |
| r2c2 |
#12| Verfasst am: 02.07.2008, 23:00 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 781 angemeldet: 09.05.2005 Wohnort: Rhoihesse Turbo Delphi für Win32

|
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.
mfg
Christian |

Kaum macht man's richtig, schon klappts! |
 |
|
|
|
| |
| Medium |
#13| Verfasst am: 02.07.2008, 23:14 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Status: offline Beiträge: 411 angemeldet: 23.01.2008 Delphi 7 Enterprise

|
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 |
 ʇsɐɟʞɐǝɹq ɹoɟ uıɐɹq ɹnoʎ ʇɐǝ llıʍ ı |
 |
|
|
|
| |
| p0w3r5tr34m3r |
#14| Verfasst am: 03.07.2008, 00:29 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
Mitglied Alter: 20 Status: offline Beiträge: 148 angemeldet: 18.08.2003 Wohnort: Monheim am Rhein Delphi 2006 Enterprise

|
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 |
 ich bin ein notorischer alles-klein-schreiber!
der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag |
 |
|
|
|
| |
| littleDave |
#15| Verfasst am: 03.07.2008, 00:39 Titel: Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha |
 |
 |
 |
|
sehr aktives Mitglied Alter: 22 Status: offline Beiträge: 217 angemeldet: 27.04.2006 Wohnort: München Delphi 7 Professional

|
Also ich würd das ganze einfach per Durchschnitt berechnen:
Sagen wir, ich habe nun folgende LogDaten
| Code: | markieren | Tag Freier Platz in GB
1 100
2 95
3 103
4 20
5 78 |
|
Jetzt würd ich den Durchschnitt der einzelnen Differenzen bilden, also
| Code: | markieren | (
(100 - 95)
+ ( 95 - 103)
+ (103 - 20)
+ ( 20 - 78)
) / 4 |
|
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.
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 |
 | Delphi-Quellcode: | markieren | | <!-- #1--> in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0 |
|
Zuletzt bearbeitet von littleDave am 03.07.2008, 00:40, insgesamt 1-mal bearbeitet. |
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|
|