Discussion:
Problem beim Kopieren von großen Dateien (Arbeitsspeicher läuft vo
(zu alt für eine Antwort)
BeezleBug
2008-12-01 13:01:01 UTC
Permalink
Hallo zusammen,
ich habe hier einen Win2kSP4 Server als Domänencontroller. Der Rechner hat
zwei interne Festplatten und eine externe via USB angeschlossene Platte. Der
Schreibcache ist bei einer internen Festplatte aktiviert, bei der anderen
internen (ich nehme an, dass das die Platte mit der C Partition ist) und bei
der USB Platte ist er deaktiviert. Nun besteht folgendes Problem: Immer wenn
ich größere Dateien (> 1GB) von den internen Platten auf die USB Platte
kopieren will, läuft der Arbeitsspeicher voll. So voll, dass nur noch <10MB
von 1024 MB frei sind. Das gleiche passiert auch wenn ich größere Dateien auf
die Festplatte mit der C Partition kopieren will. Es scheint also kein USB
Problem zu sein. Auf die andere interne Platte ist das Kopieren jedoch
problemlos möglich. Das Problem tritt auch nur beim Schreiben von Dateien
auf, ich konnte problemlos die Dateien übers Netzwerk runterkopieren.

Ich bin mittlerweile ein wenig verzweifelt weil ich dafür einfach keine
Erklärung finde, darum bin ich auch über jeden Tipp dankbar. Auch würde ich
mich schon freuen wenn ich die Ursache weiter einschränken könnte.
Ist es ein Windowsproblem?
Ist ein Treiber schuld?
Oder ein Hardwareproblem?
Was kann ich machen um die Ursache zu finden?

Im EventLog taucht noch folgende Fehlermeldung auf:
Quelle: disk; ID: 34; Der Treiber hat den Schreibcache auf dem Gerät
\Device\Harddisk0\DR0 deaktiviert. Ich weiß nicht ob das was damit zu tun
hat...

Vielen Dank und schönen Gruß,
bb
Francis Debord
2008-12-01 14:38:45 UTC
Permalink
Da die Synchrandatenübertragung via USB sehr viel Langsamer läuft ist es
Logisch, dass der Datenträgercache vollläuft.

Ist es ein Fehler, oder nur ein Performanceproblem?
BeezleBug
2008-12-05 15:30:36 UTC
Permalink
Es ist schon ein Fehler. Das Problem besteht ja auch teilw. wenn ich zwischen
den internen Platten kopiere. Nur auf eine interne Platte kann ich kopieren
ohne das der Arbeitsspeicher voll läuft. Siehe auch meinen Post weiter
unten...

Schönen Gruß,
bb
Post by Francis Debord
Da die Synchrandatenübertragung via USB sehr viel Langsamer läuft ist es
Logisch, dass der Datenträgercache vollläuft.
Ist es ein Fehler, oder nur ein Performanceproblem?
Steinsdorfer Walter [MVP Exchange Server]
2008-12-01 18:24:43 UTC
Permalink
Hi,
Post by BeezleBug
ich habe hier einen Win2kSP4 Server als Domänencontroller. Der Rechner hat
zwei interne Festplatten und eine externe via USB angeschlossene Platte. Der
Schreibcache ist bei einer internen Festplatte aktiviert, bei der anderen
internen (ich nehme an, dass das die Platte mit der C Partition ist) und bei
der USB Platte ist er deaktiviert. Nun besteht folgendes Problem: Immer wenn
ich größere Dateien (> 1GB) von den internen Platten auf die USB Platte
kopieren will, läuft der Arbeitsspeicher voll. So voll, dass nur noch <10MB
von 1024 MB frei sind. Das gleiche passiert auch wenn ich größere Dateien auf
die Festplatte mit der C Partition kopieren will. Es scheint also kein USB
Problem zu sein. Auf die andere interne Platte ist das Kopieren jedoch
problemlos möglich. Das Problem tritt auch nur beim Schreiben von Dateien
auf, ich konnte problemlos die Dateien übers Netzwerk runterkopieren.
Ich bin mittlerweile ein wenig verzweifelt weil ich dafür einfach keine
Erklärung finde, darum bin ich auch über jeden Tipp dankbar. Auch würde ich
mich schon freuen wenn ich die Ursache weiter einschränken könnte.
Ist es ein Windowsproblem?
Ist ein Treiber schuld?
Oder ein Hardwareproblem?
Was kann ich machen um die Ursache zu finden?
Quelle: disk; ID: 34; Der Treiber hat den Schreibcache auf dem Gerät
\Device\Harddisk0\DR0 deaktiviert. Ich weiß nicht ob das was damit zu tun
hat...
der deaktivierte Schreibcache ist bei allen DC´s normal. Der sorgt dafür das
bei STromausfällen oder beim Herunterfahren die Daten auf der Platte und
nicht im stromlosen Cache sind.
Das der ARbeitsspeicher voll läuft liegt wahrscheinlich daran das Windows
die Datei im Cache behält. Wird die Datei denn kopiert? Dann ist das
Verhalten normal. Nur wenn der Kopiervorgang abbricht würde ich näher
hinschauen.
--
Viele Grüsse aus München

Walter Steinsdorfer
MVP Exchange Server
www.exusg.de
http://www.amazon.de/Exchange-Server-Outlook-Umstieg-Profis/dp/382732484X
BeezleBug
2008-12-05 15:09:23 UTC
Permalink
Danke für die Antwort schonmal. Das der Schreibcache deaktiviert wird wusste
ich noch nicht. Aber macht ja Sinn. Schreibcache heißt das die Daten im RAM
zwischen gespeichert werden? Und Schreibcache deaktiviert heißt das die Daten
direkt auf die Platte geschrieben werden? Dann verstehe ich noch weniger
warum der Arbeitsspeicher voll läuft.

Also die Datei wird wohl kopiert, ich breche aber immer ab, wenn von ~600MB
freiem Speicher <100MB frei sind. Ich hatte auch schon das Problem das
plötzlich das NTFS Dateisystem auf einer Partition zerstört war. Das tratt
auf als ich mich während des Kopierens auf einem andern Computer angemeldet
hab. Ich denke deswegen das es nicht normal ist. Der Arbeitsspeicher läuft
wirklich komplett voll. Alles hakt und läuft langsam, weil ja kein
Arbeitsspeicher mehr da ist. Das Problem bestand auch nicht immer. Früher gab
es mal das Problem das man auf die USB Platte kopieren konnte, aber nicht
wieder runter. Das besteht ja teilweise auch noch, nur auf eine Festplatte
kann problemlos kopiert werden. Da läuft der Arbeitsspeicher dann auch nicht
voll, ein weiterer Grund warum ich denke dass sowas nicht passieren sollte.

Ich habe einen Tipp erhalten beim Kopieren mal Process Monitor laufen zu
lassen, das werde ich demnächst mal machen und die Ergebnisse hier kunt tun.

Schönen Gruß,
bb
Post by Steinsdorfer Walter [MVP Exchange Server]
der deaktivierte Schreibcache ist bei allen DC´s normal. Der sorgt dafür das
bei STromausfällen oder beim Herunterfahren die Daten auf der Platte und
nicht im stromlosen Cache sind.
Das der ARbeitsspeicher voll läuft liegt wahrscheinlich daran das Windows
die Datei im Cache behält. Wird die Datei denn kopiert? Dann ist das
Verhalten normal. Nur wenn der Kopiervorgang abbricht würde ich näher
hinschauen.
--
Viele Grüsse aus München
Walter Steinsdorfer
MVP Exchange Server
www.exusg.de
http://www.amazon.de/Exchange-Server-Outlook-Umstieg-Profis/dp/382732484X
Francis Debord
2008-12-05 15:37:51 UTC
Permalink
Post by BeezleBug
Ich habe einen Tipp erhalten beim Kopieren mal Process Monitor laufen zu
lassen, das werde ich demnächst mal machen und die Ergebnisse hier kunt tun.
und nicht vergessen vorher alle dateisystemchaches auszuschalten.
dauert dann ewig, aber wenn dann der speicher volläuft ist das problem
woanders zu suchen.

Bei windows ist alles nicht besonders transparent
BeezleBug
2008-12-08 15:14:01 UTC
Permalink
Post by Francis Debord
und nicht vergessen vorher alle dateisystemchaches auszuschalten.
dauert dann ewig, aber wenn dann der speicher volläuft ist das problem
woanders zu suchen.
Bei windows ist alles nicht besonders transparent
Wo kann ich das denn machen?

Was mir auch noch eingefallen ist. Die neue Platte (die einzige auf die man
jetzt auch Kopieren kann) ist eine 500GB Platte. Darum musste ich in der
Registry Big LBA aktivieren damit die mit der vollen Größe erkannt wird. Kann
es da jetzt mit den alten Platten zu Problemen kommen?

Ich habe jetzt schonmal ProcessMonitor mitlaufen lassen beim Kopieren von
der USB Platte auf die beiden internen und bei 20% ca. den Kopiervorgang
abgebrochen. Kopiert hab ich mit dem TotalCommander. Man sieht schon einen
deutlichen Unterschied in den Aktivitäten von System und ntfrs.exe. Während
bei der einen Platte, auf die man problemlos kopieren kann, kurz nach dem
TotalCmd aufgehört hat zu schreiben auch das CloseFile kommt, geht bei der
anderen Platte das schreiben fröhlich weiter.
Aber auch beim Kopieren gibt es Unterschiede. So sieht das Kopieren aus wenn
es funktioniert:
Achtmal ließt System nur:
TotalCmd.exe ReadFile O:\KopierteDatei SUCCESS
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
TotalCmd.exe ReadFile O:\KopierteDatei SUCCESS
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
System ReadFile O:\KopierteDatei SUCCESS
Und dann schreibt System alles gelesene:
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS

Bei der Platte bei der der Speicher volläuft sieht das nich so geordnet aus.
Aber System scheint mehr zu lesen als zu schreiben. Und nach dem Abbruch
sieht es dann so aus:
Eine ganze Weile passiert das:
ntfrs.exe 1044 ReadFile C:\pagefile.sys SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
ntfrs.exe 1044 ReadFile C:\pagefile.sys SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
.
.
.
und irgendwann schreibt System nur noch:
System 8 WriteFile E:\KopierteDatei SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
.
.
.
Ich kann auch die komplette Logfiles hochladen wenn das irgendwas nützt.
Was genau macht System denn? Und wie kann ihm beibringen den Arbeitsspeicher
zwischendurch mal wieder zu entleeren?

Besten Dank und schönen Gruß,
bb
Francis Debord
2008-12-08 15:54:55 UTC
Permalink
Post by BeezleBug
Post by Francis Debord
und nicht vergessen vorher alle dateisystemchaches auszuschalten.
dauert dann ewig, aber wenn dann der speicher volläuft ist das problem
woanders zu suchen.
Bei windows ist alles nicht besonders transparent
Wo kann ich das denn machen?
Das geht im Geräte Manager unter Laufwerke.
Dort findest du die Einträge der Laufwerke und auf den Registerkarte die
Knöpfe zum ein und ausschalten.

Des weiteren kann man den IDE/ATAPI-Controller auf PIO setzen und damit den
DMA Zugriff unterbinden, dann muss die CPU alles "von Hand" erledigen.
Ist so, als würde man Smartdrv.exe aus den alten DOS zeiten abschalten.
(Ist wohl wenig attraktiv, aber für DIAGS vielleicht notwendig.
Post by BeezleBug
Was mir auch noch eingefallen ist. Die neue Platte (die einzige auf die
man jetzt auch Kopieren kann) ist eine 500GB Platte. Darum musste ich in
der Registry Big LBA aktivieren damit die mit der vollen Größe erkannt
wird. Kann es da jetzt mit den alten Platten zu Problemen kommen?
Nein, keine Probleme enable Big LBA hebt nur die 128 Gigabyte grenze auf.

http://de.wikipedia.org/wiki/Integrated_Drive_Electronics#Adressierungsprobleme
Post by BeezleBug
Ich habe jetzt schonmal ProcessMonitor mitlaufen lassen beim Kopieren von
der USB Platte auf die beiden internen und bei 20% ca. den Kopiervorgang
abgebrochen. Kopiert hab ich mit dem TotalCommander. Man sieht schon einen
Wieso brichst du als User den Kopierprozess ab?
Du willst doch die Dateien kopieren und nicht in Logfiles stöbern.
Logfiles sind kein Flohmarkt.
Post by BeezleBug
deutlichen Unterschied in den Aktivitäten von System und ntfrs.exe.
Während bei der einen Platte, auf die man problemlos kopieren kann, kurz
nach dem TotalCmd aufgehört hat zu schreiben auch das CloseFile kommt,
geht bei der anderen Platte das schreiben fröhlich weiter.
Aber auch beim Kopieren gibt es Unterschiede. So sieht das Kopieren aus
TotalCmd.exe ReadFile O:\KopierteDatei SUCCESS
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
TotalCmd.exe ReadFile O:\KopierteDatei SUCCESS
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
System ReadFile O:\KopierteDatei SUCCESS
TotalCmd.exe WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
System WriteFile E:\KopierteDatei SUCCESS
Bei der Platte bei der der Speicher volläuft sieht das nich so geordnet
aus. Aber System scheint mehr zu lesen als zu schreiben. Und nach dem
ntfrs.exe 1044 ReadFile C:\pagefile.sys SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
ntfrs.exe 1044 ReadFile C:\pagefile.sys SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
.
.
.
System 8 WriteFile E:\KopierteDatei SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
System 8 WriteFile E:\KopierteDatei SUCCESS
.
.
.
Ich kann auch die komplette Logfiles hochladen wenn das irgendwas nützt.
Was genau macht System denn? Und wie kann ihm beibringen den
Arbeitsspeicher zwischendurch mal wieder zu entleeren?
Besten Dank und schönen Gruß,
bb
Die Protokolle sagen mir nichts.
Den Arbeitsspeicher "entleeren" ... den Knopf habe ich bei Windows noch
nicht gefunden. Unter Linux gibt man einfach den Befehl sync ein und alle
Daten werden auf die Datenträger geschrieben. Nach meinem Wissensstand gibt
es sowas bei Windows NICHT. Lasse mich jedoch gern eines besseren belehren,
da der Befehl ja irgendwo sein muss, wenn man USB-Geräte abdocken will.

und nochwas!
Wenn du glaubst du kannst Windows dahingehend beeinflussen, dass nur ein
gewisser Teil als Systemcache genutzt werden kann, oder soll, dann ist der
registrierungswert IoPageLockLimit im Memory Management-Zweig für dich von
bedeutung.

http://www.winhelpline.info/forum/tipps-und-tricks-windows-2000/14485-iopagelocklimit-hohe-leistungssteigerung-moeglich.html
Loading...