Порекомендуйте дефрагментатор RAM под Win x64
чего-чего дефрагментировать?
RAM. Видишь ли, некоторым программам уж очень хочется разместить в памяти массивчик гигов этак на 5 одним куском.
ы... а ОС этим не занимается?..
кстати, а что за ОС?
кстати, а что за ОС?
Видимо не занимается, раз такие проги существуют. По крайней мере для Win XP.
Или хреново занимается.
У меня ща Win Vista Business x64
Или хреново занимается.У меня ща Win Vista Business x64
OOCleverCache61ProfessionalEnu.exe
OOCleverCache61ProfessionalEnu.exeА это не про файл-кеш?
Ты поюзай ; )
Кстати, ошибсе с названием: OOCleverCache61Professional64Enu.exe
Кстати, ошибсе с названием: OOCleverCache61Professional64Enu.exe
Видимо не занимается, раз такие проги существуют. По крайней мере для Win XP. Или хреново занимается.пример такой проги привести можешь?
Clever Cache — реальная штука
попробуй
попробуй
А ничего, что все AMD64 ОСи используют механизм страничной памяти и потому им в принципе класть на то, фрагментирована физическая память или нет?
>механизм страничной памяти
что это?
что это?
Родной, афаик на всех архитектурах память разбита на страницы, это не какая-то особая фишка 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бит ардесации никак не связаны с проблемой фрагментации
вот, зацени у меня каких и сколько кусков памяти
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 кусков
> вот, зацени у меня каких и сколько кусков памяти
заценил. у тебя крутые куски памяти
Это ещё зачем? Где ты это вообще видел? Если специально не запрашивать не подкачиваемую память, ядро може выдавать какой угодно по форме кусок физической памяти и замапить его на непрерывный кусок виртуальной.
> и опять, 64бит ардесации никак не связаны с проблемой фрагментации
сложно забить мелкими кусками 2^64 байт памяти так, чтобы нельзя было 1GB непрерывный выделить. Для этого надо порядка 4*2^32 кусков
> вот, зацени у меня каких и сколько кусков памяти
заценил. у тебя крутые куски памяти
и точно, наврал 
значит, влияет только на скорость выделения памяти
>сложно забить мелкими кусками 2^64 байт памяти так, чтобы нельзя было 1GB непрерывный выделить. Для этого надо порядка 4*2^32 кусков
то есть чем больше память, тем её труднее фрагментировать?
вот как фрагментированность 3Г памяти будет зависеть от используемой адресации - 32, 36 или 64б ?

значит, влияет только на скорость выделения памяти
>сложно забить мелкими кусками 2^64 байт памяти так, чтобы нельзя было 1GB непрерывный выделить. Для этого надо порядка 4*2^32 кусков
то есть чем больше память, тем её труднее фрагментировать?
вот как фрагментированность 3Г памяти будет зависеть от используемой адресации - 32, 36 или 64б ?
Ну представь себе, что у тебя есть виртуальная машина и на ней виртуальный диски размером 40ГБ, 320ГБ и 1ТБ. Ты записываешь на каждый из них 30ГБ, потом начинаешь создавать/удалять файлы оставаясь в пределах 40ГБ. Как думаешь, какой из дисков у тебя окажется фрагментированным раньше?
>какой из дисков у тебя окажется фрагментированным раньше?
одинаково, при первом же удалении!
ты опять о своём
еще раз - объясни, как при использовании _одного_ (это когда один и тот же объём используется для всех измерений в серии) объёма памяти фрагментация зависит от ширины адресации.
я уже понял, что, имея большее количество памяти при выполнении одинаковых операций мы будем получать меньшую фрагментированность, спасибо, это я понял.
одинаково, при первом же удалении!
ты опять о своём
еще раз - объясни, как при использовании _одного_ (это когда один и тот же объём используется для всех измерений в серии) объёма памяти фрагментация зависит от ширины адресации.
я уже понял, что, имея большее количество памяти при выполнении одинаковых операций мы будем получать меньшую фрагментированность, спасибо, это я понял.
Мы можем замапать любой участок физической памяти на любой участок виртуальной. Более того, мы можем разобщённые участки физической памяти мапать на один участок виртуальной. Поэтому несмотря на то, что физическая память будет фрагментирована, мы не получим потерь производительности, т.к. фрагментация виртуальной памяти будет ничтожна (ведь её у нас 2^64 байт).
При этом выделение как и без фрагментации вообще будет происходит за O(N где N - число требуемых страниц (фактически эквивалентно объёму выделяемой памяти).
П.С. Вообще признаю, объяснять я не умею нормально.
При этом выделение как и без фрагментации вообще будет происходит за O(N где N - число требуемых страниц (фактически эквивалентно объёму выделяемой памяти).
П.С. Вообще признаю, объяснять я не умею нормально.
Оставить комментарий
logan00108
Чтобы гигабайт 8-16 оперативки определял. Желательно Freeware.Отстал я от этого сегмента софта. А в гугле всякая муть, либо 32-битные прожки.