Все мы храним на каком-нибудь древнем харде гигабайты всего подряд — образы, киношки, архивы, файлы по работе. Вроде бы всё удобно, пока не открываешь эту папку в Dolphin или Midnight Commander, а система начинает «чё-то долго думать» и тарахтеть. NVMe всё ещё не завезли?
Не беда, расскажу, как сам ускорил свой старый HDD на Ubuntu, не прибегая к чёрной магии и без лишних трат.
Почему тормозит?
Старый жёсткий диск, как ни крути, штука неторопливая. Особенно, если папка весит сотни гигов, а файлов там — как у жителя торрент-клуба на раздаче. Ты просто открываешь папку, а Dolphin уже предвкушает страдания, генерируя миниатюры и ревя головками. Всё потому, что файловая система кеширует не всё и не всегда.
vmtouch — маленький чит для больших свалок
Вот тут на сцену выходит vmtouch — утилитка, которая позволяет прямо руками греть файловый кеш в Linux.
Кто бы мог подумать, что для счастья не нужен PCIe 4.0, а всего лишь пара строк в bash и немного RAM.
Установка — проще некуда:
sudo apt install vmtouch
Проверено на себе: работает на любой Ubuntu или Debian.
Самое важное — что греть?
Весь диск греть не надо (да и не получится, если у тебя не 128 ГБ оперативки). Поэтому делаем просто:
Греем только файлы, которые менялись за последнюю неделю.
В моём случае это всё, что я качал, открывал, раздавал.
Мой рабочий скрипт:
find /mnt/data/Download -type f -mtime -7 -print0 | xargs -0 vmtouch -t
Смысл простой:
— Сканим свежак
— Читаем его в RAM
— Открываем в файловом менеджере — и файлы летят, будто с SSD
Как понять, что кеш реально прогрелся?
Запусти:
vmtouch /mnt/data/Download
Там покажет, сколько файлов реально в памяти. Не «магия ИИ», а честная статистика: Resident Pages — твой друг.
Хочешь автоматизации? Без проблем!
Постоянно держать в голове запуск этого скрипта лениво. Поэтому сделал автозапуск через crontab:
- Написал скрипт
~/warmup_downloads.sh
- Сделал его исполняемым:
chmod +x ~/warmup_downloads.sh
- Добавил строку в crontab (через
crontab -e
):@reboot /home/slon/warmup_downloads.sh
Вуаля! Теперь кеш греется при каждом запуске системы, и папка открывается почти как родная.

А вдруг диск не смонтировался?
На этот случай в скрипте стоит маленькая проверка:
if ! mountpoint -q /mnt/data; then echo "/mnt/data не смонтирован!" >> /home/slon/warmup_log.txt exit 1 fi
Так что никаких лишних ошибок, а лог всегда под рукой. На случай, если тебя ночью разбудят и спросят: «Почему всё медленно?!»

И зачем мне всё это было?
Честно? Чтобы не тратить нервы и время на вечное ожидание.
После внедрения vmtouch свежие файлы (те же образы, новые фото, документы) открываются за доли секунды.
Медленный HDD перестал быть болью — теперь это просто архив, который не раздражает.
Пара инженерных шуток:
— Почему DevOps пьёт кофе и пишет скрипты для кеша?
— Потому что его HDD не умеет в turbo boost.
— Как ускорить старый диск?
— Напугать его vmtouch и пообещать заменить на SSD.
Лайфхаки напоследок
- Если мало RAM — грей только нужные расширения, например, только
.jpg
и.pdf
- В лог добавь дату — будешь знать, когда скрипт реально отработал
- Если вдруг появится SSD или NVMe, vmtouch пригодится и для него — магия работает на всех типах хранилищ!
Вывод
vmtouch — реальный лайфхак для ускорения работы с большими папками на HDD в Ubuntu.
Это не магия ИИ, а честная инженерия: больше RAM — больше кеша, больше счастья.
Проверь на практике — и забудь про вечные тормоза, даже если твой диск пережил динозавров.