|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.02.2017, 22:35 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
System.IO.File.Copy() компьютер вешается наглухо
Здравствуйте. Сегодня столкнулся с одной очень не хорошей проблемой ...
Когда указанная функция копирует файл большого размера - компьютер вешается наглухо, даже мышкой невозможно подвигать. Хотя загрузка процессора в норме. Чтение/запись происходят НЕ на системном разделе. У меня не было таких проблем при побайтовой обработке файлов больших размеров. Что с функцией Copy ? Какие есть адекватные аналоги ? На счёт второго вопроса - мне наверное придется через FileStream всё прогонять, ибо это уже серьёзный вопрос.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 23.02.2017 в 22:59. |
23.02.2017, 23:26 | #2 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Хм, а у вас много оперативы? Похоже на то, что вы копируете файл на том же физическом диске, что и файл подкачки, поэтому скорость обращения системы к "виртуальной" памяти падает, в итоге приложения просто ждут, пока система загрузит значения из памяти в регистры. Ну, и система висит.
Лечится это отключением файла подкачки.
a.k.a. Angelicos Phosphoros
Мой сайт |
24.02.2017, 01:35 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
New man, оперативы у меня 8 гб. На счёт файла подкачки - не в курсе, туда лазить ещё не приходилось.
Чтение происходит с одного физического диска, запись - на другой диск НЕ на системный раздел.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 24.02.2017 в 01:37. |
24.02.2017, 08:46 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну создайте два потока и затем
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.02.2017, 15:54 | #5 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Как я понял, у ТС зависает вся система, комп, то есть. Значит распараллелирование не особо поможет.
И файл подкачки находится на одном из этих двух физических дисков, верно? Попробуйте отключить его, у винды тупая привычка кучу всего, что должно быть в оперативе, записывать в файл подкачки. 8 Гб с лихвой хватит, если, конечно, вы там не разрабатываете на продуктах JetBrains и чем-нибудь подобном.
a.k.a. Angelicos Phosphoros
Мой сайт |
24.02.2017, 16:56 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
давно у Thread есть метод CopyTo? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
24.02.2017, 18:17 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ручной контроль разве что.(в том числе размер буфера)
ибо File.Copy уходит внутрь WinAPI:CopyFile. вообще такие функции обычно виснут если есть проблемы с диском. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.02.2017, 18:26 | #9 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Проблем с диском не обнаружил. Хотя изначально беспокоило то, что судя по звуку винт иногда начинает постоянно парковать головки; но это быстро решается перезапуском компьютера.
Цитата:
А что я скажу, когда буду сдавать проект ?
Подпись ? Не, не слышал ...
|
|
24.02.2017, 18:37 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык если бы такая проблема была у всех пользователей этой функции, то это было бы общеизвестно, и ей бы никто не пользовался )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Error 1 Unable to copy file "obj\Debug\WindowsFormsApplicat ion2 .exe | Dr.House69 | C# (си шарп) | 1 | 07.05.2014 16:50 |
RewriteRule webroot to file-system path | paska27 | PHP | 2 | 14.12.2013 18:05 |
File System Watcher (TfisFileNotification) | maxefficiently | Помощь студентам | 8 | 15.02.2011 00:28 |
класс ввода\вывода System::IO::File | Selebro | Общие вопросы C/C++ | 1 | 18.10.2008 22:48 |
Copy File | Witaliy | Общие вопросы Delphi | 4 | 26.07.2008 13:20 |