tim » 29 янв 2008, 14:07
RAM Defrag и большинство похожих "дефрагментаторов" памяти работают по примитивному алгоритму, и на деле никакую дефрагментацию памяти не делают. Суть алгоритма заключается в агрессивном выделении максимально большого объема памяти, в расчете на особенности дизайна менеджера памяти Windows. Менеджер памяти, чтобы удовлетворить запросы приложения (например, RAM Defrag), начинает резко уменьшать объем дискового кэша, который при обычной работе может достигать значительных величин, и сбрасывать на диск малоиспользуемые страницы памяти. После этого, "дефрагментатор" освобождает всю занятую память, и на какое-то время в системе возникает своего рода вакуум, то есть, некоторое количество действительно незанятой памяти (дисковый кэш почти нулевой, дефрагментатор уже всю память освободил, а другие потребители эту память еще не успели забрать). Это и есть тот эффект от якобы дефрагментации, о котором бодро рапортуют подобные программы. Действительно, на машинах с небольшим объемом памяти, это может дать кратковременный эффект, но в целом применение такого рода примочек бессмысленно.
Для минимизации (или устранения) подобного рода проблем лучше заняться настройкой системы, а не "дефрагментированием" памяти. Например, сделать своп фиксированного размера.