Autor Beitrag
DJ Strobe
Hält's aus hier
Beiträge: 12

Win XP
D2005 Pers
BeitragVerfasst: Do 07.07.05 01:58 
Hallo. Wollte mal fragen, ob dieses Phänomen auch schon bei anderen vorgekommen ist, und ob man was dagegen machen kann.

Bei längerer Arbeit mit Delphi wächst die Swapdatei bis ins Bodenlose (WebTemp meldete schon 1GB, kompletter Arbeitsspeicher), die Festplatte hat pausenlos Zugriffe.

Kann ich da irgendwas gegen tun? Sonst werde ich ja nie fertig.


Moderiert von user profile iconraziel: Topic aus Sonstiges verschoben am Do 07.07.2005 um 13:19
Dargor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 59

Win2k SP4, WinXP Pro SP1
D6 Pers
BeitragVerfasst: Do 07.07.05 07:29 
Am besten ist es, die Auslagerungsdatei auf eine feste Größe einzustellen, d.h. Min und Max auf den gleichen Wert stellen. Entweder du nimmst die Größe, die dir Windows empfiehlt oder die gleiche Größe, wie dein Arbeitsspeicher.
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 07.07.05 10:25 
Das habe ich auch manchmal - aber selten. Das einfachste ist es Delphi zu schließen und wieder zu öffnen. Dann kann man normalerweise ganz gut weiterarbeiten. Ansonsten ist es wie Dargor bereits gesagt hat, empfehlenswert eine feste Größe für die Auslagerungsdatei einzustellen und darauf zu achten, dass die Datei nicht fragmentiert ist. Empfehlung: Mach eine Partition die so groß ist, wie dein Arbeitsspeicher (+ 5 MB) und lege ausschließlich die Swapdatei auf diese Partition. Formatieren solltest du sie mit FAT32, da Windows dann keine MFT-Tabellen anlegen muss. Das Ergebnis ist eine unfragmentierte Auslagerungsdatei auf einer seperaten Partition - unbedingt empfehlenswert :D

Gruß,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 07.07.05 10:32 
Das Problem bei Delphi 2005 ist bekannt, das wird durch die neuesten Updates behoben, aber leider gibts kein Update für die Personal...
Amiga-Fan
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 534



BeitragVerfasst: Do 07.07.05 10:57 
Zitat:
die Auslagerungsdatei auf eine feste Größe einzustellen, d.h. Min und Max auf den gleichen Wert stellen.


ich glaube bei Spielen ist das weniger zu empfehlen. Ich hatte das damals so gemacht, die swap-datei war auch ziemlich groß, trotzdem bekam ich Probleme beim Spielen mit No one lives Forever 2. Das Spiel wurde ziemlich langsam und zwischendurch war ich einfach so wieder auf dem Desktop...

_________________
- Leg dich nie mit einem Berufsprogrammierer an
- Wahre Profis akzeptieren keine einfachen Lösungen
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 07.07.05 11:57 
Hmm, ob Delphi dann überhaupt noch läuft??? Also ich probiers erst gar nicht aus...
chrissivo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 130

WIN XP, WIN 2000, WIN MCE, WIN 98
D5 Pers
BeitragVerfasst: Do 07.07.05 12:06 
Imho empfiehlt es sich den virtuelle Arbeitspeicher 3x so groß wie den physische Arbeitsspeicher zu machen. Außerdem sollte die Auslagerungsdatei nach Möglichkeit auf einer anderen als der Systemfestplatte liegen. Sofern nur eine Festplatte eingebaut ist, sollte die Auslagerungsdatei wenigstens auf eine andere Partition gelegt werden.

Viele Grüße

Chrissi
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 07.07.05 13:15 
Auch in älteren Versionen habe ich das Problem beobachtet, namentlich D5 Ent und D7 Ent. Verursacht wird es in diesem Fall durch die Code-Vervollständigung wenn der Quelltext im Augenblick des Aufrufs syntaktische Fehler aufweist (soweit meine Nachforschungen ergeben haben).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
DJ Strobe Threadstarter
Hält's aus hier
Beiträge: 12

Win XP
D2005 Pers
BeitragVerfasst: Do 07.07.05 15:56 
Dann probier ich die Einstellmethode für die Swapdatei mal aus. Hoffentlich läufts dann was schneller. Gestern is mir die Kiste fast abgestürzt. Arbeitsspeicher 100% voll :shock: ! Das bei 1GB Ram.
DJ Strobe Threadstarter
Hält's aus hier
Beiträge: 12

Win XP
D2005 Pers
BeitragVerfasst: Do 07.07.05 16:48 
Mein Computer ist vielleicht ein Ars...Lo..Penner :!: :autsch: Ich stell die Swapdatei auf max. 500MB ein und der Blödmann macht eine mit 998MB! Ich könnte :puke: :!:
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 07.07.05 16:52 
Ich kenn das! Ich hatte vergessen auf "Festlegen" zu klicken ;)

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
DJ Strobe Threadstarter
Hält's aus hier
Beiträge: 12

Win XP
D2005 Pers
BeitragVerfasst: Do 07.07.05 16:58 
Nö, hab festgelegt, steht auch so in dem Fenster drin :? . Isch jeh noch kapot :) .
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Fr 08.07.05 00:36 
Was bitte bringt es eine zweite Partition auf der Platte anzulegen? Die Physische Platte muss doch trotzdem genauso schuften, das ist Schwachsinn.
Das mit mehreren Partitionen auf einer Platte ist nur sinnvoll, wenn das BS pro Partition eine max. Größe vorgibt. z.b win95 8GB.
Hatte auch erst 3 Partitioen auf einer 55GiBytePLatte. fahre jetzt nur mit einer Partition und der Rechner ist genauso schnell wie vorher.
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Fr 08.07.05 08:41 
Eine Extrapartition ist kein Schwachsinn! Den Grund dafür habe ich glaube ich schon genannt: wenn du eine große Datei hast, so wird diese (vor allem bei der Standardinstallation von Windows) schnell fragmentiert sein, was dazu führt, dass die Köpfe auf der Platte hin- und herspringen ohne wirklich etwas zu lesen. Da eine Swapdatei wahrscheinlich sowieso nicht so sauber aufgebaut ist, wird er das wahrscheinlich sowieso müssen, hat dafür aber immer die Datei in Reichweite ;) Es hat durchaus seinen Grund, warum Linux standardmäßig mit Swappartitionen arbeitet und erst gar keine Dateien benutzt (auch wenn man es dazu zwingen kann).

Zum Thema Partitionierung von Datenplatten: Seit Dateisystemen wie reiserfs,ext3 oder NTFS ist eine Partitionierung kaum noch nötig. Was ich häufig sehe ist, dass (ich sag's mal vorsichtig) Mausschubser immer der Meinung sind es würde etwas bringen Spiele und Programme auf eine Extrapartition zu packen um die Systemp. sauber zu halten. Das ist aber sowieso Dank Registry & Co. nicht möglich und verhindert nur, dass der Speicher effektiv genutzt wird. Was bringen mir 4 P. mit jeweils 1 GB freiem Speicher, wenn ich eine 2 GB große Datei speichern will ;)
Sinn macht es nur dann, wenn man z.B. mit Images arbeitet. Ich habe mir von meiner Systemp. ein Image gezogen und Windows beigebracht Ordner wie den Desktop, Favoriten, Eigene *, etc. auf der zweiten P. zu suchen. Ich kann ich einfach mal Image rüberbügeln ohne meine Daten sichern zu müssen bzw. innerhalb einer halben Stunde auf Linux umsteigen und wieder zurück *freu*.

Gruß,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Fr 08.07.05 10:45 
user profile iconmaxk hat folgendes geschrieben:
Eine Extrapartition ist kein Schwachsinn! Den Grund dafür habe ich glaube ich schon genannt: wenn du eine große Datei hast, so wird diese (vor allem bei der Standardinstallation von Windows) schnell fragmentiert sein, was dazu führt, dass die Köpfe auf der Platte hin- und herspringen ohne wirklich etwas zu lesen.


Bei Zwei Partitionen auf einer Physischen Platte muss der Lesekopf auch hin und her wandern, was wieder auf die Kapazität geht. Kopier mal was von Partion A auf Partition B. Das geht sehr langsam, vorallem wenn man keine Hochleistungsplatte hat. Da geht das Kopieren innerhalb einer Partition wesentlich schneller.
Gegen fragmentierte Dateien hilf es einfach ab und an zu defragmentieren. Gegen eine fragmentierte Auslagerungsdatei hilf folgendes:
- Auslagerungsdatei auf Null setzen
- Windows neustarten
- defragmentieren
- Auslagerungadatei auf eine Feste Größe setzen.
- Neustart
- Fertig.

Auslagerungsdatei an einem Stück.
Geht aber nur, wenn es mindesten ein Datenfleck auf der Platte gibt, der die Auslagerungsdatei komplett aufnehmen kann. Also die Auslagerungsdatei am Besten nach der Installation von WIndows festlegen, bevor andere Programme und dateien überspielt werden.
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Fr 08.07.05 19:34 
user profile iconTilo hat folgendes geschrieben:
Kopier mal was von Partion A auf Partition B. Das geht sehr langsam, vorallem wenn man keine Hochleistungsplatte hat. Da geht das Kopieren innerhalb einer Partition wesentlich schneller.
Kann ich überhaupt nicht bestätigen. Natürlich kann man mit ein wenig Aufwand auch die Auslagerungsdatei deframentieren. Die Partitionen sind auch nicht für das Springen der Köpfe zuständig, da eine Auslagerungsdatei ebenso am Ende/Anfang der Platte liegen kann, wie auch eine Partition. Mein Vater sagt übrigens gerade, dass er darauf schwört seine Auslagerungspartition in der Mitte der Platte zu plazieren, da somit der Kopf von überall den kürzesten Weg hat. Am Anfang hat er sein System (mit Image), am Ende seine Daten und dazwischen seine Swappartition.

Gruß,
maxk


// Edit: Stimmt da ist ein Denkfehler (siehes nächstes Post)

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Zuletzt bearbeitet von maxk am Fr 08.07.05 23:56, insgesamt 1-mal bearbeitet
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Fr 08.07.05 23:18 
user profile iconmaxk hat folgendes geschrieben:
Mein Vater sagt übrigens gerade, dass er darauf schwört seine Auslagerungspartition in der Mitte der Platte zu plazieren, da somit der Kopf von überall den kürzesten Weg hat.


Wie kontrolliert das dein Vater? HEutige Platten haben mehrere Scheiben. Verteilt dein Vater die Auslagerungsdatei auch zu gleichen Teilen auf den einzelen Scheiben? Die Ansicht im Deframfenster gibt die Organisation der Speichereinheiten an(1., 2.,..,n.Speichereinheit), aber nicht wie die Speichereinheiten auf den physikalischen Platten verteilt sind.

zum eingetlichen Thema: Gründe wieso die Sawapdatei während der Nutzung von Delphi wächst:
es wahrscheinlich liegt am Programm welches gerade bearbeitet wird:
a) viele Aufrufe von Setlength(array) um es schrittweise zu erhöhen, Lösungen wurden im Forum dikutiert
b) viele Dateiaufrufe
c) massive Speicherreservierungen(z.b 50 Mio Integer Zahlen)