Лекарство от склероза

1999, Сергей Голубицкий

(Менеджеры памяти: MemTurbo vs. FreeMem Pro)

Во время оно, когда еще сохранялись иллюзии, что из Windows можно сделать человека, на рынке были программы, которые пытались как-то совладать с распределением памяти в этой чудной операционной системе. Дикие люди, Маня! Людям казалось, что - чем черт не шутит! - если что-то там подкрутить может появится и многозадачность.

Короче говоря, витали в пространстве все эти DoubleRAM'ы и MagnaRAM'ы и прочие MemMaker'ы. Обратил ли ты внимание, брат мой ламер, как все эти чудесные примочки куда-то неведомым образом испарились? То-то же. А все почему? Вовсе не потому, что Windows до такой степени усовершенствовалось, что память улучшать отпала нужда. Как раз наоборот: все ухудшилось до такой степени, что всякое втирание очков про удвоение памяти стало просто неприличным и оптимизаторы памяти сами собой улетучились, дабы не дразнить пользователей заведомой брехней.

Но человеку свойственно мечтать о полете. Он никогда не смирится с тем, что ему суждено только ползать (то есть либо диск форматировать, либо печатать, а также навек отказаться от открытия пяти окон браузеров и более). И тогда на смену оптимизаторов памяти пришли санитары памяти. Смысл их в следующем: если уж нельзя прыгнуть выше головы и заставить Windows 98/95 работать с памятью по-человечески (то есть распределять задачи и приложения по отдельным адресным пространствам как это делают приличные люди - NT и Warp), то по крайней мере можно безжалостно бить по рукам и не давать свинячить и гадить без меры.

Дело в том, что "операционка для народных масс" имеет пренеприятнейшую особенность хранить в памяти кучу всякого бесполезного мусора. Чтобы в это убедиться,не нужно быть программером: достаточно какое-то время открывать различные приложения, работать с ними, закрывать и снова открывать. В скором времени вы заметите, что все начинает еле ползать и вообще производить тягостное впечатление. В конце концов, возникает одно желание - перезагрузить компьютер.

Почему это происходит? Лучше спросить об этом Билла Гейтса, хотя и самый неискушенный гуманитарий сумеет предположить, что видимо в памяти компьютера что-то остается даже после того, как приложение закрывается. Ну ты глянь-ка, какая прозорливость! Так ведь и оказалось - неряха Windows периодически забывает удалять из памяти разные там библиотеки и драйверы, ни к черту не нужные после того, как программа, их использовавшая, закрывается.

Вот тут-то и приходят на помощь труженики села, скромные асенизаторы - санитары памяти.

Я испытал два самых знаменитых современных чистельщика (оба-коммерческие продукты и на обоих, естественно, в сети есть крэки): MemTurbo и FreeMem Pro. О чем и расскажу.

Первым мне подвернулся MemTurbo:

Первым, потому что рекламной шумихи от него на порядок больше. И в самом деле, MemTurbo заявляет о себе круто. Вот что он, якобы, может:

1.Дефрагментировать физическую память, что повышает уровень попадания кэша (cache hit rate) и, тем самым, позволяет более эффективно использовать кэш L1 и L2.

2.Увеличивать объем свободной памяти за счет ликвидации утечек (memory leaks)и сбрасывания ненужных библиотек и DLL'ок в своп на жестком диске (paging file).

Забавно, что MemTurbo не страдает особой политкорректностью (как FreeMem Pro) и сразу кидает заяву, что, мол, "Винды сакс" и MemTurbo исправляет их недостатки. Сразу скажу, что если бы MemTurbo и в самом деле выполняла задачи, о которых заявляла, то ей бы цены не было. Но, увы, я ее удалил уже на третий день. Почему? Вот почему:

1.Программа периодически зависала и, как правило, ни к селу ни к городу;

2. Меня совершенно достал дебильный борт-проводник (см. картинку), который лез в душу еще похлеще, чем крутящийся патефон Питера Нортона и шизоидная скрепка-подсказка из микрософтовского офиса:

3.Уж не знаю, что там MemTurbo удалял из памяти, но буквально за 20 секунд все удаленные причиндалы возвращались обратно. MemTurbo их опять удалял, они возвращались и так до бесконечности. Все бы хорошо, но сам процесс удаления у MemTurbo занимал достаточно времени и… памяти, так что в какой-то момент я поймал себя на мысли, что не работаю, а наблюдаю, как MemTurbo каждые 20 секунд асенизаторствует.

Затем я установил FreeMem Professional:

Программа мне понравилась уже на уровне своего help'а - ну до чего же политкорректны эти немцы! Посудите сами: вот первая строка из help'а: "Операционные системы Микрософт Windows95 and WindowsNT обладают очень утонченным управлением памяти". Ну а дальше говорится о том, что хотя управление это и утонченное, но во многом туповатое, и вот тут-то на помощь и приходит FreeMem Pro, который делает примерно то же самое, что и TurboMem. Только в отличие от TurboMem, FreeMem и в самом деле работает. Причем очистка памяти занимает буквально секунду-две и мусор обратно через 20 секунд не возвращается. Не возвращается он и через минуту. И через десять. Короче говоря, FreeMem по-настоящему справляется с заявленными задачами.

В заключение ради чистоты эксперимента скажу, что я не удержался и испытал FreeMem Pro и на другом своем компьютере, где установлена Windows NT. Дело в том, что если MemTurbo с NT вообще не работает, то FreeMem Pro легко устанавливается и на 95/98 и на NT. Но тут меня поджидало разочарование - FreeMem не просто ничего не улучшил в управлении памятью под NT, но существенно все ухудшил - все стало работать гораздо медленнее, чем без FreeMem.