Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Aug 24, 2019 10:00 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 114 15 16 17 1820 Next
Author Message
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 12:43 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
Siemargl wrote:
Думаю, что если копировать 1Гб файлов будет тот же эффект.

Подтверждаю. Копирование пары 1Гб фалов (на разные диски) приводит к общему замедлению всех процессов записи на диск.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 3:01 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
... только к ФС это не относится.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 4:03 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
Говоришь, разделы примерно по 8Гб?
Да.
Pathoswithin wrote:
А 512 КБ кластер ты специально выбираешь?
Байтов же! Ну так экономнее будет, если файлы небольшие. Или сейчас есть какие-то ограничения на размер кластера?
Siemargl wrote:
Копирование пары 1Гб фалов (на разные диски) приводит к общему замедлению всех процессов записи на диск.
Это может вот почему
Serge wrote:
Вспомни как у нас файловая система работает - открыла кошёлку, достала сумочку, закрыла кошёлку, открыла сумочку, достала кошелёк, закрыла сумочку и т.д.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 5:41 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Просто если бы ты сразу сказал, что создаёшь нестандартные разделы, я бы нашёл ошибку уже давно. Кстати, проверяй. А всё из-за этого viewtopic.php?f=31&t=659&start=120
Там же аргумент по второму вопросу. Кстати, до недавнего времени в драйвере EXT такой подход был помножен на 1000.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 5:58 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
А, интересно, какие разделы были у Siemargl? Ведь у него тоже были ошибки.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 7:42 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
Pathoswithin wrote:
... только к ФС это не относится.
Да, как и писал ранее

0CodErr wrote:
Pathoswithin wrote:
А 512 КБ кластер ты специально выбираешь?
Байтов же! Ну так экономнее будет, если файлы небольшие. Или сейчас есть какие-то ограничения на размер кластера?
Siemargl wrote:
Копирование пары 1Гб фалов (на разные диски) приводит к общему замедлению всех процессов записи на диск.
Это может вот почему
Serge wrote:
Вспомни как у нас файловая система работает - открыла кошёлку, достала сумочку, закрыла кошёлку, открыла сумочку, достала кошелёк, закрыла сумочку и т.д.

а) Если файл меньше чем 662 байта, NTFS хранит его в MFT. Ты таким образом гробишь производительность, не экономя (ну только на хвостиках больших файлов)

б) Это очень похоже на проблему стратегии кеширования - когда кэш забивается ненужными данными и перестает использоваться.

У меня стандартные размеры кластера - размер есть в выводе chkdsk --- 2Kb


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Jan 07, 2017 11:22 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Да, теперь стало лучше. В не корневые папки сейчас тоже копируется.

Но вот что осталось:
При попытке создать 10000 файлов в корневой папке создаётся только 4068.
Spoiler: Show
Attachment:
0.PNG
0.PNG [ 63.88 KiB | Viewed 1624 times ]

chkdsk пишет
Quote:
Ошибок не обнаружено
Но и зайти в корневую папку раздела из-под винды не получается
Quote:
Файл или папка повреждены. Чтение невозможно.
Если удалить под KolibriOS эти файлы, то из-под винды снова заходит.

Из-под винды 10000 файлов на том же разделе успешно создаётся. И из-под KolibriOS их видно
Spoiler: Show
Attachment:
1.PNG
1.PNG [ 49.09 KiB | Viewed 1624 times ]


Пробовал копировать на реальной системе файл 4,23 ГБ с /hd на /usbhd, но скопировалось только 1,29 ГБ. Здесь размер кластера был 4 Кб.

Pathoswithin, напиши, какие сейчас ограничения в KolibriOS для NTFS. И что уже должно точно работать.


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 1:14 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Siemargl wrote:
У меня стандартные размеры кластера - размер есть в выводе chkdsk --- 2Kb
Pathoswithin wrote:
Если раздел меньше 2 ГБ, то винда делает кластер 2 Кб.
Это ещё смотря какая винда. Судя по https://support.microsoft.com/en-us/kb/140365 у Siemargl Windows NT 3.51.


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 3:29 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
Врут, как ни странно. Вот тут вернее
http://www.ntfs.com/ntfs_optimization.htm

У меня в виртуалке XP Pro 2002 SP3
http://clip2net.com/s/3GbcOQd


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 4:40 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Да, это странно, конечно.
Они там ссылаются на https://support.microsoft.com/en-us/kb/314878 а оно, получается, что противоречит https://support.microsoft.com/en-us/kb/140365


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 9:43 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
viewtopic.php?f=31&t=659&start=214
При попытке создать 10000 файлов в корневой папке создаётся только 4068 -> Пункт 4, привет кластер на 512 байт.
Ошибок не обнаружено, но и зайти в корневую папку раздела из-под винды не получается -> Пункт 1, не видит служебные файлы.
Пробовал копировать файл 4,23 ГБ с /hd на /usbhd, но скопировалось только 1,29 ГБ -> Возможно, пункт 5, у меня не проявляется. Попробуй файл меньше 4 ГБ (а ещё на КФМ).


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 10:36 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
Пункт 4, привет кластер на 512 байт
Ну это надо фиксить тогда. В винде же работает.
Pathoswithin wrote:
Возможно, пункт 5, у меня не проявляется.
Это ведь проблема реализации именно в KolibriOS? И тогда ещё сюда из соседней темы
Pathoswithin wrote:
На реальном компе с 2 ГБ оперативы он скопировал с ext4 на ntfs файл размером 1600 МБ за 45 секунд, операции на 5 секунд вполне приемлемы. А fNav мучился минут 5.
Насколько я знаю, в Far(под винду который) по умолчанию CopyBufferSize = 64 K. Также для примера TotalCommander, там 32 K. И вот из справки по Copy/Delete
Quote:
Use default method only
The default method is relatively slow, but also reliable. A larger block size may speed up the copying. When copying within the same drive, a larger buffer size should be chosen than when copying between two drives, so the read/write head doesn't have to jump between source and target all the time.

Also use big file copy mode
The copy method for large files is meant to copy very large files like films or CD-ROM images. It bypasses the Windows disk cache. This works very well with harddisks, but can slow down copying to special drives a lot (e.g. to USB sticks). Recommended are at least 10240 k within the same disk, and 32 k between two disks. Warning: Some disk drivers written by drive manufacturers may have bugs which prevent them from working in this mode!
Не забываем, что с кешем в KolibriOS проблемы(если никто ещё не правил). В той теме viewtopic.php?f=42&t=2660 есть про это. Надо бы попробовать для эксперимента увеличить его и сравнить. А то сейчас в винде работает гораздо шустрее. Можно, например, попробовать полистать картинки в KIV — будут тормоза из-за частого обращения к диску.


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 11:01 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
Возможно, пункт 5, у меня не проявляется. Попробуй файл меньше 4 ГБ (а ещё на КФМ).
А я вот хотел тот же самый файл(4,23 ГБ), но только KFM для этого не годится
Spoiler: Show
Attachment:
0.PNG
0.PNG [ 4.27 KiB | Viewed 1554 times ]
Однако, при попытке копирования он завис примерно на 1 минуту. Ну и соответственно скопировал гораздо меньше(но завис на 1 минуту).
Ладно, в ближайшие пару дней я выложу промежуточную версию fNav с поддержкой файлов >4Gb.


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Jan 08, 2017 11:43 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin, а у тебя может там AHCI? Или ты всё же перепроверь, на всякий случай контрольную сумму.

Вот мои результаты:
Копировался файл 1,36 ГБ (1 465 528 320 байт)
с FAT32 /hd на NTFS /usbhd
KFM — 6:08 минут
fNav — 7:00 минут
Но разница не в разы как у тебя! Она менее 15%.

Quote:
Ну так КФМ прогресс показывает.
Он зависает на время файловых операций чтения\записи. Попробуй переместить его окно во время копирования.
Потому я и сказал
Quote:
Пусть лучше пользователь видит прогресс и понимает, что программа не зависла, а идёт копирование.


А сжатие в NTFS у нас и для чтения не работает? А то вылетает, если копируемый файл сжатый.


Top
   
 Post subject: Re: NTFS
PostPosted: Mon Jan 09, 2017 12:08 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
FAR под винду - такое же дерьмо мамонта что и наш, TotalCommander тоже. Они так работают ещё со времён LBA28, в котором было максимум 256 секторов на операцию.

При первом чтении кэш не поможет. Той теме уже больше двух лет, тогда ещё дисковая система находилась в жалком состоянии viewtopic.php?f=31&t=3056

Ну ты ж на флешку копируешь. И то есть разница...

Такая у КФМ реализация. Если сделать работу с файлами в отдельном потоке, не будет зависать.

Весь пункт 6 не поддерживается вообще.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 114 15 16 17 1820 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited