Как освободить оперативку без перезагрузки Windows: SnapBack
Завершённая задача не всегда означает закрытое приложение. К вечеру в Windows остаются редактор, лаунчер и утилиты, которые понадобились ненадолго. Их можно убрать без перезагрузки всей системы, сохранив нужные программы.
В какой-то момент мне стало лень даже перезагружать ПК. Поэтому я сделал SnapBack: бесплатную утилиту, которая запоминает нужный набор приложений и позже помогает закрыть всё добавившееся. Она работает в Windows, исходники доступны под MIT.
Это один из моих проектов в IT Shelter. Здесь разберу само решение: что считать лишним, как не закрыть важное и почему уменьшившийся показатель кэша ещё не означает ускорения.
Вместо списка всех процессов — разница с привычным состоянием
В диспетчере задач можно закрывать программы вручную. Мне нужен был другой порядок: сначала определить, что должно остаться, а потом разбирать отклонение от этого набора.
После входа в Windows и запуска автозагрузки сохраняется базовое состояние. В него могут попасть браузер, мессенджер и нужные фоновые утилиты. Через несколько часов SnapBack показывает приложения, которые появились позже: их память, число процессов и оценку риска закрытия.
Процессы группируются в приложения. Браузер с десятками процессов не превращается в десятки одинаковых строк. Приложение из базового набора не становится лишним просто потому, что обновилось или перезапустилось.
Перед действием можно изменить выбор. Список — это предложение для пользователя, а не команда немедленно завершить всё, что программа нашла.
Почему я разделил обычное закрытие и принудительное
У занятого редактора и фонового лаунчера разные последствия закрытия. Поэтому сначала SnapBack пытается завершить выбранные приложения обычным способом. Программа получает время на выход и может показать вопрос о сохранении работы.
Если приложение остаётся открытым, результат сообщает об этом. Можно переключиться к нему, ответить на диалог и проверить снова. Принудительное завершение — отдельное действие с отдельным подтверждением; оно не является скрытым продолжением обычного возврата.
Системные и защищённые процессы исключены. Однако собственные документы всё равно стоит сохранять: поведение при запросе на закрытие зависит от конкретного приложения.
Профиль для работы и профиль для игр
Один базовый набор подходит не на весь день. Для работы могут быть нужны редактор и браузер, для игры — Steam, Discord и лаунчер. В SnapBack можно сохранить несколько профилей и выбрать, с каким из них сравнивать текущую сессию.
Выбор профиля ничего не запускает и не закрывает. После него остаётся тот же просмотр списка и подтверждение. Это помогает менять контекст без полной перезагрузки Windows.
У слова «снимок» есть граница: сохраняется набор приложений, а не документы, вкладки или состояние памяти. Новые вкладки браузера из базового набора не считаются отдельными новыми приложениями. Такой сценарий требует отдельного решения внутри браузера.
Освобождённая память и очищенный кэш — разные результаты
После закрытия программ SnapBack показывает память до и после. Точное число заранее обещать нельзя: часть приложений может отказаться закрываться, а память используют и другие процессы Windows.
Отдельно в разделе «Память» есть глубокая очистка standby. Это кэш данных в оперативной памяти, который Windows уже может отдать приложению при необходимости. Очистка запускается вручную, с запросом прав администратора, и не удаляет файлы кэша с диска.
Число standby после неё может уменьшиться, но скорость работы от этого не обязана вырасти. Следующее открытие данных, наоборот, может потребовать повторного чтения. Поэтому я не складываю очистку кэша и закрытие приложений в одно обещание «вернуть несколько гигабайт».
Запуск без установки
В последнем релизе есть архивы для x64 и ARM64. На момент подготовки статьи актуальна версия 1.0.1. Архив нужно распаковать и запустить SnapBack.exe; отдельная установка .NET не требуется.
Для первого знакомства достаточно сохранить базовое состояние, затем открыть одну ненужную программу и посмотреть, как изменится список. Перед подтверждением полезно проверить, что нужные приложения остаются выбранным профилем.
У меня нет сравнительного замера, который доказывал бы ускорение Windows или рост FPS.
Задача SnapBack проще: сократить ручной разбор накопившихся программ, сохранив контроль над закрытием. Если найдёте неудобный сценарий, его можно описать в issues — такой отзыв полезнее универсального обещания «чистого ПК».