Vista Runs Out of Memory While Copying Files
ta bu shi da yu writes "It appears that, incredibly, Vista can run out of memory while copying files. ZDNet is reporting that not only does it run out of memory after copying 16,400+ files, but that 'often there is little indication that file copy operations haven't completed correctly.' Apparently a fix was scheduled for SP1 but didn't make it; there is a hotfix that you must request."
...occurs when a Vista user (running Kaspersky Anti Virus 6 or 7) tries to copy a large number of files (~16,400). So if you're like most people in the world, and have never touched Kaspersky AV (or Vista, for that matter), then this is a non-issue.When I copy a bunch of files from one directory to another, I get 'Explorer has stopped working and must restart'. I've resorted to using DOS to copy the files. I wish I had stuck with 2000 Server :)
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
Maybe you're backing up to an external hard drive?
~ In Trust, We Trust ~
-- "I never gave these stories much credence." - HAL 9000
FTA: The "Out of Memory" error (which is affectionately known at the PC Doc HQ as the "Out of Cheese" error
mod parent as stupid.
Likely, they're allocating memory to store file attributes or some such that are not being free'd when done with. Hence running out of memory. If you had coded a day in your life you'd see that.
Tom
Someday, I'll have a real sig.
For those situations...
/s
Run -> "cmd" -> del %dir\*.*
It will clear most stuff and you will see error messages fly by... redirect output to a file for later examination if desired.
I use the good old 'del' whenever I know I will be deleting something like 20k files and do not wish to waste time waiting for windows to prepare for that operation... why the heck does Windows need to scan directories to be deleted before deleting them is beyond me, just delete them and be done with it. Same thing for copying, Windows wastes time scanning the source directory for no apparent reason since it won't tell you you have insufficient disk space to complete the operation until the target drive runs out of disk space... or any other errors for that matter, until it runs into them while carrying out the actual operation.
Linux has quirks, so does Windows. Linux has the excuse of being an relatively immature desktop OS but on the Windows side, it can only be written off as the result of half-ass design decisions.
Yup. I've just about given up trying to copy gigabytes of files from large drives to backup drives because of this. I mean, once you've done this ONE TIME, it should be OBVIOUS to ANY designer that it needs to be fixed to allow the copy to continue - or resume - or SOMETHING other than just DYING.
Also, if Windows sees a zero-byte file, it can't handle it. I have to boot Linux and use it to delete the file.
Daily while working with clients I ask myself how anybody could use this garbage on a daily basis. When I reboot into Windows on my dual-boot openSuse/XP machine, I always dread it because I KNOW something is not going to work properly, or something extraneous will have to be done BEFORE I can do what I need to do.
Pathetic OS. Just pathetic.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
No. That was not the problem. The problem was that DOS programs were 16-bit real mode programs. This means that they used 16-bit pointers to refer to memory locations. This is what limits a DOS program to 1 megabyte of memory, not any deficiency in MS-DOS (which it had many of, admittedly). The segmented perversion of 8086 made things even worse by making memory divided into 64kB chunks rather than contiguous.
In any case, as time went on, most DOS programs did move to next-gen hardware, first by using EMS and XMS memory, and later by using DOS extenders to run in 32-bit protected mode. Having fixed screen memory location was never the problem, quite on contrary: it made it possible to access the video card memory directly from protected mode without having to convert a 16-bit pointer from DOS into 32-bit one.
We are talking about unaccelerated graphics card here. The fastest way to use them was to write directly to memory. Going through a system call would not only have been slower, meaning no one would had used it, but required said operating system to contain some kind of graphics driver, which would had taken up precious memory space and therefore hindered every program.
DOS is perfect for what it's designed for - a filing system for two 360 kB diskettes that takes up little memory and doesn't get in your way, and lets you get your program into the memory. Of course a system resulting from these design parameters doesn't work too well in a modern machine with 500 GB hard disk, gigabytes of memory and a dazzling array of extension cards.
And, frankly, I doubt anyone at either IBM nor Microsoft realized that the IBM PC would still be in use, extended beyond nearly all recognition, 26 years later.
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
Yes but it can be fixed, or rather, worked around. It's been this way for literally decades.
Need Mercedes parts ?
Someone else in this thread mentioned CachemanXP. This non-crippled shareware allows you to limit the amount of free RAM XP uses for file caching (and has a nifty "kill" option, for when you absolutely positively wanna toast the sucka -- the reason I checked it out).
I come here for the love
From the KB article describing the problem, ie TRFA (where R = Real):
http://support.microsoft.com/kb/942435/en-us This problem occurs because of a memory leak in the Windows OLE component. This memory leak is triggered by the way that Windows Explorer deals with the extended attributes of the files. This is 100% in the shell and UI layers, not in the kernel.