Порекомендуйте дефрагментатор RAM под Win x64
чего-чего дефрагментировать?
RAM. Видишь ли, некоторым программам уж очень хочется разместить в памяти массивчик гигов этак на 5 одним куском.
кстати, а что за ОС?
У меня ща Win Vista Business x64
OOCleverCache61ProfessionalEnu.exe
OOCleverCache61ProfessionalEnu.exeА это не про файл-кеш?
Кстати, ошибсе с названием: OOCleverCache61Professional64Enu.exe
Видимо не занимается, раз такие проги существуют. По крайней мере для Win XP. Или хреново занимается.пример такой проги привести можешь?
попробуй
А ничего, что все AMD64 ОСи используют механизм страничной памяти и потому им в принципе класть на то, фрагментирована физическая память или нет?
что это?
И, таки, да, управлением памятью должно заниматься ядро и никто другой.
С фрагментацией памяти никак несвязано.
Из-за трансляции адресов пропадает проблема фрагментации физической памяти.
Из-за 64 бит адреса пропадает проблема фрагментации виртуальной памяти.
Родной, афаик на всех архитектурах память разбита на страницы, это не какая-то особая фишка amd64.
И не надо писать всем известные вещи, когда они не имеют никакого отношения к теме. А то прочитал эту строку и создалось впечатление, будто я говорил, что механизм страничной памяти есть только на amd64. Нехорошо, однако, ой как не хорошо.
и опять, 64бит ардесации никак не связаны с проблемой фрагментации
вот, зацени у меня каких и сколько кусков памяти
DMA: 4*4kB 2*8kB 3*16kB 2*32kB 3*64kB 3*128kB 2*256kB 0*512kB 1*1024kB 1*2048kB 2*4096kB = 12496kB
Normal: 3878*4kB 962*8kB 205*16kB 30*32kB 0*64kB 4*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB = 34872kB
HighMem: 288*4kB 294*8kB 349*16kB 1320*32kB 1019*64kB 237*128kB 60*256kB 20*512kB 9*1024kB 5*2048kB 3*4096kB = 204224kB
а вот на свежезагруженной машине со страницами в 8кб
Normal: 3*8kB 2*16kB 1*32kB 2*64kB 2*128kB 1*256kB 2*512kB 1*1024kB 0*2048kB 2*4096kB 116*8192kB = 961240kB
Это ещё зачем? Где ты это вообще видел? Если специально не запрашивать не подкачиваемую память, ядро може выдавать какой угодно по форме кусок физической памяти и замапить его на непрерывный кусок виртуальной.
> и опять, 64бит ардесации никак не связаны с проблемой фрагментации
сложно забить мелкими кусками 2^64 байт памяти так, чтобы нельзя было 1GB непрерывный выделить. Для этого надо порядка 4*2^32 кусков
> вот, зацени у меня каких и сколько кусков памяти
заценил. у тебя крутые куски памяти
значит, влияет только на скорость выделения памяти
>сложно забить мелкими кусками 2^64 байт памяти так, чтобы нельзя было 1GB непрерывный выделить. Для этого надо порядка 4*2^32 кусков
то есть чем больше память, тем её труднее фрагментировать?
вот как фрагментированность 3Г памяти будет зависеть от используемой адресации - 32, 36 или 64б ?
Ну представь себе, что у тебя есть виртуальная машина и на ней виртуальный диски размером 40ГБ, 320ГБ и 1ТБ. Ты записываешь на каждый из них 30ГБ, потом начинаешь создавать/удалять файлы оставаясь в пределах 40ГБ. Как думаешь, какой из дисков у тебя окажется фрагментированным раньше?
одинаково, при первом же удалении!
ты опять о своём
еще раз - объясни, как при использовании _одного_ (это когда один и тот же объём используется для всех измерений в серии) объёма памяти фрагментация зависит от ширины адресации.
я уже понял, что, имея большее количество памяти при выполнении одинаковых операций мы будем получать меньшую фрагментированность, спасибо, это я понял.
При этом выделение как и без фрагментации вообще будет происходит за O(N где N - число требуемых страниц (фактически эквивалентно объёму выделяемой памяти).
П.С. Вообще признаю, объяснять я не умею нормально.
Оставить комментарий
logan00108
Чтобы гигабайт 8-16 оперативки определял. Желательно Freeware.Отстал я от этого сегмента софта. А в гугле всякая муть, либо 32-битные прожки.