Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Как переместить папку в конец диска? (http://forum.oszone.net/showthread.php?t=350074)

Avatar-Lion 17-11-2021 19:28 2972292

Как переместить папку в конец диска?
 
Возникла нетривиальная задача: необходимо сдвинуть ряд каталогов в конец диска. Как выяснилось, все существующие программы дефрагментации нацелены ровно на противоположное, т.е. они сдвигают все файлы и папки в начало диска. Понятно, что таким образом достигается ускорение, но у меня задача другая - переместить конкретные данные в конец диска, освободив его начало для различных временных файлов. ПК под управлением Windows 7 (x64). Что пробовал:
- DefragNT (зависает при запуске)
- JkDefrag с GUI (якобы позволяет выбрать папки для сдвига в конец диска, но по факту игнорирует настройки и пихает в конец вообще всё подряд)
- Norton Speed Disk (не запустился вообще)
- WinContig (может дефрагментировать конкретные файлы и папки, но нет функции сдвига в конец раздела)
- Auslogics Disk Defrag (нет нужного функционала)
- Defraggler (тоже якобы позволяет выбрать папки для сдвига в конец диска, но по факту игнорирует настройки и просто дефрагментирует диск, сдвигая всё к началу)
- Rapid File Defragmentator (запускается и работает несколько секунд, затем говорит что все сделал, а по факту папка весом 20Гб как была где-то в середине диска, так и осталась)
- UltimateDefrag (нет нужного функционала)

Быть может, кто-то еще подскажет нужное ПО для сдвига конкретных данных в конец диска? Интерфейс, красота и прочее значения не имеют, готов хоть в консоли работать - не принципиально, ибо надо это всё раз в полгода-год делать.

Смысл в том, что есть HDD с архивными данными, но на него же регулярно сыпется всякая объёмная фигня. Сейчас, благодаря всем этим чудо-дефрагментаторам, я имею хард, у которого внешние дорожки (самые быстрые) заняты архивными данными, изображениями, документацией и прочим. В общем, всем тем, что нужно раз в год и где скорость не принципиальна. А вот новые и временные файлы (5 - 20Гб) кладутся сейчас в конец диска, на самые медленные внутренние дорожки. Соответственно, нужно как бы поменять местами всё это добро: архивы спихнуть в конец диска, а начало освободить, чтобы добиться максимальной скорости.

NickM 17-11-2021 21:21 2972307

Цитата:

Цитата Avatar-Lion
JkDefrag с GUI (якобы позволяет выбрать папки для сдвига в конец диска, но по факту игнорирует настройки и пихает в конец вообще всё подряд) »

Он же MyDefrag.
А Вы писали скрипт и проверяли?
А как проверяли, с помощью, например fsutils?

Avatar-Lion 17-11-2021 21:40 2972311

Цитата:

Цитата NickM
А как проверяли, с помощью, например fsutils? »

С помощью того же JkDefrag и проверял, он ведь выводит в графическом виде результат своей работы. Очень криво и неудобно, но - выводит. Перепроверил с помощью UltimateDefrag, у него красивый кольцевой индикатор. Итого: JkDefrag тупо спихнул всё в одну кучу в конец раздела, вернее, почти всё, я его в итоге тормознул. Бардак на диске сейчас страшный.

Цитата:

Цитата NickM
А Вы писали скрипт и проверяли? »

Я качал какую-то готовую сборку (если надо, могу порыться в истории и найти линк), где данная опция уже присутствовала.

Судя по графикам различных дефрагментаторов, JkDefrag не умеет работать с папками, он может работать только с конкретными файлами, а мне этого недостаточно.

DJ Mogarych 17-11-2021 21:52 2972314

SSD не рассматриваете как кардинальное решение всех этих проблем?

Avatar-Lion 17-11-2021 22:00 2972315

DJ Mogarych, Простой пример: я качаю торрент, но перед закачкой распределяется место на диске. Допустим, файл весит 20Гб. Не трудно понять, что будет очень ощутимая разница во времени (100Мбайт\с против 50Мбайт\с для моего диска на внешних и внутренних дорожках соответственно), если я добьюсь желаемого.

Понятное дело, что SSD все эти проблемы на корню решит, да и запас прочности у любого SSD сейчас такой, что его даже торрентами убить проблематично будет. С другой стороны, я все-таки не качаю круглосуточно всё подряд. Просто мне кажется глупым не использовать имеющийся потенциал железа, который сейчас мне недоступен чисто из-за незнания имени программы, которая позволила бы мне добиться желаемого результата.

DJ Mogarych 17-11-2021 22:10 2972316

Во-первых, даже если вы и выиграете в скорости, то такой мизер, который будет заметен только при синтетических тестах - 50 МБ/с это очень небольшая разница. Во-вторых, ради этого выигрыша вы будете насиловать диск дефрагментацией, чем только израсходуете его ресурс раньше времени.

Легче второй диск поставить и распределить между ними, куда что пишется.

Avatar-Lion 17-11-2021 22:29 2972317

Цитата:

Цитата DJ Mogarych
50 МБ/с это очень небольшая разница »

50Мбайт\с в случае с данным HDD составляет +50% к скорости линейной записи.

Цитата:

Цитата DJ Mogarych
ради этого выигрыша вы будете насиловать диск дефрагментацией »

1) Торренты насилуют механику куда больше.
2) Дефрагментация требуется однократная, чтобы переместить конкретные каталоги в конец диска.

Phoenix 18-11-2021 03:10 2972329

Avatar-Lion, см. ответы про мизерный выйгрыш в скорости от перемещения файлов внутри основного раздела (взамен советуют создать отдельный логический диск и туда складировать). На Иксбите вам, кстати, похожее мнение высказали. Я тоже впервые от вас узнал про некие "быстрые" и "медленные" дорожки...По-моему, это уже действительно какие-то архаичные вещи и методы.

DJ Mogarych 18-11-2021 10:14 2972354

Ну разбейте диск на разделы и распределяйте информацию между "быстрым" и "медленным" разделами.

Amigos 23-11-2021 11:39 2972888

Цитата:

Цитата Avatar-Lion
1) Торренты насилуют механику куда больше. »

На порядок меньше.
И от торрентов хоть какая то польза есть в отличии от, и ресурс винта тратится не в пустую.

Цитата:

Цитата Avatar-Lion
кто-то еще подскажет нужное ПО для сдвига конкретных данных в конец диска? »

Перанальное решение:
1 оставляете на диски только те данные, которые хотите "переместить в конец".
2 создаёте на диске папку temp и при помощи h2testw.exe забиваете всё свободное место тестовыми файлами в папке temp
3 переносите "данные, которые хотите переместить в конец" на другой носитель. На диске остаётся только папка temp с тестовыми данными.
4 Любым дефрагментатором дефрагментируете диск. Результат - папка temp с тестовыми данными в начале диска, все свободное пространство в конце диска.
5 переносите "данные, которые хотите переместить в конец" назад на диск. Т.к. свободное место на диске есть только в конце, переместятся они только в конец диска.
6 удаляете temp с тестовыми данными, лежащими в начале диска. Появляется свободное место в начале диска.
7 профит!

dmitryst 23-11-2021 12:30 2972899

Цитата:

Цитата Amigos
Перанальное решение: »

Респект! :laugh:

bredych 23-11-2021 15:13 2972921

Да, термин точен)

Jula0071 23-11-2021 15:23 2972924

Кмк вся эта возня что переанально, что перорально, выеденного яйца не стоит. Линейная скорость больше в бенчмарках радовать глаз, а в реальном мире влияет скорость доступа и высокий иопс. Первое достигается только дефрагментацией, второе в случае хдд не получить никак. Только разного уровня кэши и массивы, но это ж надо железо докупать, а в случае десктопа можно просто взять ссд и не париться.

DVDshnik 23-11-2021 16:02 2972933

Avatar-Lion, заполните диск как вам хочется почти под завязку, оставив место только под объем, который будет в хвосте, заполнять хотя бы даже и несколькими копиями объемной информации. Сделайте дефрагментацию, какая больше нравится. Хвост диска заполните нужной информацией, именно той, что будет в хвосте диска. Все лишние копии удаляйте. Вуаля - объемная инфа в хвосте диска, перед ней свободное место.

Avatar-Lion 23-11-2021 21:26 2972986

Написал разработчику WinContig насчет перемещения файлов в конец диска. Он сказал, что пока такой функции нет, но зато "...this feature is on my to-do list.". Так что будем ждать. Ну и чтобы два раза не вставать... Можно ли как-то считать файлы в память? Я знаю, что Windows кэширует файлы, но хотелось бы иметь возможность помещать их в память заранее. Понятно, что они со временем будут вытеснены более новыми данными, но это уже не важно, мне главное чтобы они хотя бы 5-10 минут поболтались в оперативке.

DVDshnik 24-11-2021 13:17 2973075

Надежда умирает последней. Хотя сомнительно мне, что функция, необходимая примерно одному пользователю на миллион, будет реализована разработчиком.

Jula0071 24-11-2021 13:35 2973078

Цитата:

Цитата DVDshnik
необходимая примерно одному пользователю на миллион »

Необходимая? Это пользователь вообразил, что она как-то улучшит его экспириенс. А на самом деле нет. Вообще забавно смотреть, как кто-то собирается выкинуть несколько сотен денег на ram disk/ram cache в несколько десятков гигабайт (а меньше нет смысла) вместо того, чтоб за эти же деньги взять ссд на 2-4 Тб и ещё останется на ящик водки.

Avatar-Lion 24-11-2021 16:08 2973113

Так как насчет того, чтобы считать файлы в память? На сколько я понял, простое копировать \ вставить не использует файловый кэш для операции копирования файлов, но если некое приложение запросило файл, то он считывается и помещается в память, после чего становится доступен всем другим приложениям и им повторно считывать файл с диска уже нет нужды.

Jula0071 24-11-2021 16:19 2973114

Ну вот какая-то софтина про управляемый кэш в памяти https://www.eboostr.com/feature/customize-speed-gains

Проверять я её, конечно, не буду...

Avatar-Lion 24-11-2021 16:41 2973116

Jula0071, Это вообще не то. Судя по всему, некий аналог ReadyBoost из состава Windows - расширение кэша за счет съемных устройств. У меня же задача другая: принудительно загнать в файловый кэш на некоторое время конкретный файл или конкретную папку.

Jula0071 24-11-2021 17:20 2973125

Avatar-Lion, ну тогда ищите как сделать рамдиск и как его синхронизировать на хдд. На линуксе это два пальца об асфальт, на винде не знаю.

Iska 24-11-2021 23:18 2973186

Цитата:

Цитата Avatar-Lion
На сколько я понял, простое копировать \ вставить не использует файловый кэш для операции копирования файлов »

Любые операции с содержимым файла проходят через кэш.

dmitryst 25-11-2021 08:10 2973201

Цитата:

Цитата Iska
Любые операции с содержимым файла проходят через кэш. »

дело за малым - объяснить кэшу, что часть файлов он должен оставлять в себе, а не скидывать на диск :yes:

Iska 25-11-2021 17:17 2973255

dmitryst, а он их и не «скидывает на диск», если Вы читаете файлы.

dmitryst 25-11-2021 17:35 2973261

Iska,
цитирую ТС
Цитата:

Цитата Avatar-Lion
есть HDD с архивными данными, но на него же регулярно сыпется всякая объёмная фигня »

Если я правильно понял, данные, которые "сыпятся", нужно "сыпать" в конец диска, т.е. из кэша скидывать как раз в конец диска. Кэш работает как на чтение, так и на запись. Вы же не думаете, что все файлы сразу пишутся на физический носитель? ;)

Avatar-Lion 28-11-2021 21:35 2973600

Сделал так:
1) Удалил одну раздачу из uTorrent, сделал копию файла, добавил раздачу обратно. Началась обычная тягомотная проверка хэша.
2) Снова удалил ту же раздачу из uTorrent, но на этот раз скопировал файл на другой HDD, после чего снова добавил задание в uTorrent, но уже по новому пути на другом диске. Проверка хэша пролетела буквально за пару секунд.

По итогам экспериментов с файлами разного объёма удалось выяснить, что объём файлового кэша в Windows составляет около 3Гб. Также выяснилось, что эти ~3Гб считаются с конца файла, т.е. если файл весит больше, то сначала идёт обычное чтение с диска, а вот последние гигабайты берутся уже из памяти и, соответственно, скорость чтения вырастает на порядки.

dmitryst, нет, наоборот, план был противоположным: спихнуть в конец диска редко используемые файлы, а начало освободить под всякую временную ерунду, которая сыпется на диск время от времени.

dmitryst 29-11-2021 08:13 2973625

Цитата:

Цитата Avatar-Lion
наоборот, план был противоположным: »

да не суть. Кстати, до сих пор есть Source Free дефрагментаторы, если заинтересовать какого-нибудь программиста, я думаю, он сможет добавть то, что вам нужно (точнее, надо бужет просто "отзеркалить" алгоритм для перемещения файлов в начало)


Время: 07:17.

Время: 07:17.
© OSzone.net 2001-