Cache-less move not working

English support forum

Moderators: white, Hacker, petermad, Stefan2

Post Reply
Thany
Senior Member
Senior Member
Posts: 292
Joined: 2003-09-30, 09:20 UTC
Location: Netherlands

Cache-less move not working

Post by *Thany »

TC is capable of copying large files while bypassing the windows filecache. That's just great. The downside is that it doesn't really work :)

Here's my situation: I have a NTFS volume D:, which has another NTFS volume mounted in D:\Films. I want to move large files from D:\Films to D:. The first problem I immediately notice is that TC doesn't show a progress while moving. This suggests that TC thinks the two 'folders' are on one and the same volume (and that's not true). And that's weird because TC does show the right free space in the mount point...

The next thing I notice is that my PC becomes completely un-workable. Windows appears to be filling the memory completely with those very large files, and thus writing all other memory to the pagefile. Of course, everything becomes horribly slow (even though the pagefile is on a 10krpm drive).

The third thing, which probably is linked to the first problem, is that a very small buffer size is being used. And the last thing: How does TC determine whether a file is "big"? And isn't it possible to always bypass the filecache when moving or copying from a fixed disk to another fixed disk?

BTW, I'm using Windows XP Pro SP1, if it matters.
User avatar
Clo
Moderator
Moderator
Posts: 5731
Joined: 2003-12-02, 19:01 UTC
Location: Bordeaux, France
Contact:

Re: Cache-less move not working

Post by *Clo »

Thany wrote:TC is capable of copying large files while bypassing the windows filecache. That's just great. The downside is that it doesn't really work :)

Here's my situation: I have a NTFS volume D:, which has another NTFS volume mounted in D:\Films. I want to move large files from D:\Films to D:. The first problem I immediately notice is that TC doesn't show a progress while moving. This suggests that TC thinks the two 'folders' are on one and the same volume (and that's not true). And that's weird because TC does show the right free space in the mount point...

The next thing I notice is that my PC becomes completely un-workable. Windows appears to be filling the memory completely with those very large files, and thus writing all other memory to the pagefile. Of course, everything becomes horribly slow (even though the pagefile is on a 10krpm drive).

The third thing, which probably is linked to the first problem, is that a very small buffer size is being used. And the last thing: How does TC determine whether a file is "big"? And isn't it possible to always bypass the filecache when moving or copying from a fixed disk to another fixed disk?

BTW, I'm using Windows XP Pro SP1, if it matters.

:D Hello!
Just some indications, following that I could experience at home:
¤ I suppose that your volume D:\Films is really a network-drive... ?
- In that case, you might get a progression-bar, but no copy-speed, it's normal currently.
It's possible that TC makes a confusion about drives letters, but in that case, you'ld obtain bigger buffers (TC "thinks" that both volumes are on the same physical HD);
¤ I recommend you to change this mounted letter to a quite different, further in the alphabet, like N: or so, just to make a test...
¤ I noticed too that the copying operation can be sometimes very slow, though the buffers be set at a double size than the default... Especially from the server to a Client-PC for a network-drive, both running Win 98 SE. The worst being when I ask for "Move" files.
¤ If I well remember, I think that TC sees a file as "big" when it's equal or bigger than 10 MB...
¤ I've too a third PC in my LAN, running XP-Pro. Unfortunately, I've none network-drive mounted as a letter for it... Generally, the copying handling works so fast from / to this Client-PC...
¤ All network-cards are recent 10/100Mbauds, set for TCPIP. Wire-network using a 8-entry switch.
¤ Another reason of delayed / low copying can be the "Energy Saving" devices in Windows, which makes that the HDs stop when they are on a long stand-by. It seems that Windows doesn't manage this very well. Sometimes, the HDs restart with a big difficulty / long delay, or even don't restart at all (I suffered that with all PCs and all OSs of my LAN)
Hoping that shall help you a little (the best expert-users are not very numerous here this evening...)
Finally, I advise you to read the Help or the English Tutorial at the Copy / Delete settings topic, and others like <wincmd.ini> topic...
Best friendly regards,
Merry X-Mas
Claude
Clo
[face=arial][/face]
#31505 Traducteur Français de TC French translator Aide en Français Tutoriels Français English Tutorials
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48093
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Here's my situation: I have a NTFS volume D:, which has another NTFS volume mounted in D:\Films. I want to move large files from D:\Films to D:. The first problem I immediately notice is that TC doesn't show a progress while moving. This suggests that TC thinks the two 'folders' are on one and the same volume (and that's not true). And that's weird because TC does show the right free space in the mount point...
This cannot work. Why? On the same drive, TC use MoveFile() first to move the file without copying. Unfortunately when the target is on a different mounted volume than the source, MoveFile will copy+delete the file by itself without notice. Since MoveFile doesn't provide any feedback, there cannot be any progress either. Also MoveFile doesn't bypass the cache.
Author of Total Commander
https://www.ghisler.com
Thany
Senior Member
Senior Member
Posts: 292
Joined: 2003-09-30, 09:20 UTC
Location: Netherlands

Post by *Thany »

This cannot work. Why? A lot of explaining here
I understand. MoveFile() also determines it's own buffer, so the speed may not be optimal. But why not use the same code as when copying to a different drive letter? The fact that TC measures speed and has configurable buffers and bypass of the cache, denotes you have written the code for copying yourself. It really shouldn't be too hard to use that code for moving as well, right? (at least in this kind of situation)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48093
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

It's because it would be too slow to check for every file if source+destination are on the same volume or not. Of course if you know it, you can copy and then delete the files yourself. Just restore the selection with "/" on the numeric keypad after copying.
Author of Total Commander
https://www.ghisler.com
Post Reply