Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

Тормозит вся система при копировнаии файла   Найти похожие ветки 

 
Mozart_mcs   (2006-03-16 10:29) [0]

Файл порядка 300 мег, копируется по сети, при этом данный компьютер использовать во время копирования невозможно... Все тормозит,... Комп не слабый... Думаю, что все дело в неправильном моем подходе.. Как например можно уменьшить отжираемые ресурсы для процедуры CopyFile()? Что еще не так?

try
application.ProcessMessages;
CopyFile(PChar(N1),PChar(N2),False);
finally
Form1.Memo2.Lines.Add("temp copied, from "+N1+" to "+N2+" "+DateTimeToStr(Now));
end;


 
Fay ©   (2006-03-16 10:42) [1]

Такая фигня бывает, когда UDMA отваливается. Проверь контроллеры ж.дисков в диспетчере устройств.


 
Сергей М. ©   (2006-03-16 10:58) [2]


> Как например можно уменьшить отжираемые ресурсы для процедуры
> CopyFile()?


Копирование файла "в один прием" - высокоприоритетная операция.
Думаю, следует отказаться от CopyFile() в пользу циклического поблочного копирования средствами, например, TFileStream с вызовом Application.ProcessMessages в каждой итерации (если копирование осуществляется в контексте осн.потока VCL-приложения).

Понижение же приоритета потока, копирующего файл средствами CopyFile(), практически не даст результата.


 
Desdechado ©   (2006-03-16 11:03) [3]

такое поведение часто наблюдается на интегрированных сетевухах


 
Mozart_mcs   (2006-03-16 11:40) [4]


> Такая фигня бывает, когда UDMA отваливается

вроде все ОК.


> такое поведение часто наблюдается на интегрированных сетевухах


т.е. - на отдельной сетевухе таких трабл. не будет?
(кстати вообще - может для серваков есть смысл в отдельных сетевухах, чтобы уменьшить степень тормозов?)


> Думаю, следует отказаться от CopyFile() в пользу циклического
> поблочного копирования средствами, например, TFileStream
> с вызовом Application.ProcessMessages в каждой итерации


Ок, я попробую, спасибо..


 
Anatoly Podgoretsky ©   (2006-03-16 11:53) [5]

А может и не так медленно?


 
Mozart_mcs   (2006-03-16 12:24) [6]

Да кстати - сетевухи все отдельные оказались..


> А может и не так медленно?

Нет... это.. ужасно...


 
Anatoly Podgoretsky ©   (2006-03-16 12:31) [7]

Это абстрактные слова


 
Black Krok ©   (2006-03-16 12:35) [8]

Может, SHFileOperation() бережнее отнесется к ресурсам? Опять же красивше :)


 
Fay ©   (2006-03-16 12:48) [9]

2 Black Krok ©   (16.03.06 12:35) [8]
К каким ещё "ресурсам"?


 
Black Krok ©   (2006-03-16 12:50) [10]

2 Fay
Временным. В смысле, приоритет имеет меньший. Не проверял, но большие файлы копирую именно так. Именно из-за красивости


 
Fay ©   (2006-03-16 12:53) [11]

2 Black Krok ©   (16.03.06 12:50) [10]
Вы сами читали свой ответ?


 
Black Krok ©   (2006-03-16 13:08) [12]

2 Fay ©   (16.03.06 12:53) [11]
Читал. Если Вы в смысле, что на прорисовку летающих страничек тоже расходуется какой-то % процессорного времени, то, конечно,это так.

Однако, задача стояла не УСКОРИТЬ процесс копирования, а сделать его менее напряжным для машины. Если SHFileOperation() имеет более низкий  приоритет, задача решена.


 
Fay ©   (2006-03-16 13:16) [13]

> имеет более низкий приоритет
Какой "более низкий" ?
> Если ... имеет
А если нет?


 
Black Krok ©   (2006-03-16 13:21) [14]

>А если нет?

Написал "может", "не проверял". Что еще? Если Вы проверяли, и система задумывается совсем глубоко - так и напишите.


 
Fay ©   (2006-03-16 13:46) [15]

2 Black Krok ©   (16.03.06 13:21) [14]
Мне не удалось добиться "система задумывается совсем глубоко". Никак.


 
Black Krok ©   (2006-03-16 16:20) [16]

2 Fay ©   (16.03.06 13:46) [15]

Mozart_mcs это удалось. Для него и писал.


 
Styx_   (2006-03-16 16:40) [17]

А вообще стоит посмотреть в Process Explorer, кто занимает процессорное время. Тогда многое станет на место. Я так вывел на чистую воду Realtekовскую сетевуху, которая жрала процессорное время - не интегрированная, кстати. Только Process Explorer надо не из самых давних - чтобы Interrupts, DPCs и т.п. ерунду показывал.


 
Чапаев ©   (2006-03-16 17:04) [18]


> т.е. - на отдельной сетевухе таких трабл. не будет?

Смотря на какой... Прицепишь Финкель -- будет тебе щастье. Суреком (или вон товарищи ещё Реалтек упоминают) прицепишь -- будет тебе нещастье...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.016 c
2-1144133902
veb
2006-04-04 10:58
2006.04.23
Запретить перерисовку DBGrida


11-1124962544
shalex
2005-08-25 13:35
2006.04.23
Не закрывается модальное окно


2-1144267669
Std
2006-04-06 00:07
2006.04.23
определение недели по дате


2-1144400767
dera
2006-04-07 13:06
2006.04.23
Чем можна заменить?


3-1141215672
Дмитрий_Б
2006-03-01 15:21
2006.04.23
Запрос в Оракле





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский