Тут ситуация такая: давно ходят слухи о том, что при большом колличестве полигонов geForce начинают «намеренно» тормозить. Если это так- то производительность станет выше.
Если вопрос о реальной производительности карты — то никаких изменений не будет
Это меняет только идентификатор видеокарты. В итоге драйвер включает фичи, которые для более дешевой GeForce на включал.
Ускорения при это НЕ происходит.
сам gnif сделал это для того чтобы поцепить 3 монитора, что работает под windows, а драйвера под linux включают это только когда «видят» Quadro
Поясните пожалуйста, а в чём отличие от просто выключенного свопа?
В поведении когда ОЗУ кончается. Отключенный своп череват oom-killer-ом.
Например: на серверах виртуалок, плотность укладки виртуалок часто превосходит доступное количество памяти, потому swap выключать нельзя. А латентность сжатия на порядки ниже чем время доступа к жесткому диску. Даже ssd.
Как нахожу:
Я гентушник. Причем не потому что скомпилированная система под локальную машину имеет некое ускорение. И не потому что скомпилированная под мои нужны включает только то что мне надо и весит 3 гига. А потому что я получаю наслаждение от понимания что, как и почему работает.
Во время компиляции очередной версии ядра, иногда вчитываюсь в настройки, начинаю гуглить и разбираться. И нахожу такие плюшки.
Во время появления новых приложений в дереве portage читаю их описания. Если заинтересовало — гуглю. Вскоре собираюсь написать статью о opensource full-mesh vpn сети. О которой узнал потому что у нее полтора месяца назад появилась новая версия в portage.
При написании ответа я пользовался этим же файлом The zero_pages file specifies number of zero filled pages
Количество страниц. Стандартный размер страницы для x64 — 4Кбайт. Потому чтоб получить размер изначальных нулевых страниц в байтах zero_pages*4096
OC делает такую оптимизацию на момент выделения страницы. Для нормальных страниц, если мне не изменяет память, такая оптимизация есть очень давно.
Для huge-pages появилась в 3.8.
zRam делает это не в момент выделения, а в процессе работы. Часто бывает что какието данные в странице «были, да сплыли». То есть после того как OC выделила страницу с нулями, какое то значение было записано, а потом обнулено. В итоге страница полна нулей, но чтобы ОС сделала оптимизацию нужны какие то трюки.
Параметр -p который я передавал в swapon /dev/zram0 -p 10 это и есть приоритет. Страницы подкачки располагаются в устройствах и файлах подкачки согласно убыванию их приоритета(сначала полностью заполняются пространства с большим приоритетом). Приоритет по умолчанию — 1.
В итоге: если у swap на диске приоритет по умолчанию и для zram указан приоритет 10, то swapping на диск не будет происходить до израсходования размера zram.
Алгоритм, насколько мне известно LZO. Но были и патчи для snappy, однако приняты не были.
Как мониторить, сколько памяти занимают данные в памяти? /sys/block/zram0/size — оно?
у меня size там отсутствует.
Есть zero_pages — количество страниц заполненных нулями.
Есть orig_data_size — размер изначальных данных за вычетом «нулевых» страниц
Есть compr_data_size — размер данных в сжатом виде.
Есть mem_used_total — суммарное потребление памяти с учетом фрагментации и метаданных.
В итоге для расчета степени сжатия я использую формулу mem_used_total/(zero_pages*4096+orig_data_size)
Как адекватно измерить потребление CPU на сжатие данных ядром я не знаю. Если Вы знаете метод — буду рад протестировать.
Во многих «народных» прошивках используется.
Выигрыш имеет тотже характер что и на ноутбуке: когда память заканчивается не происходит переход в состояние «я черепаха, не трогай меня».
KSM у меня включен уже давно. С добавления его в mainline в 2.6.32. И сравнивать уже тяжело. Он не дает ощутимого замедления и порой дает уменьшение размера. Вещь безусловно полезная.
uKSM не использую и не буду до того как не войдет в mainline, так как желание попадаться на «локальные особенности» у меня уже иссякло. Наигрался.
Kvm. На нем поставлен gui — app-emulation/virt-manager. Сеть и жесткие диски по virtio, графика по spice.
Никаких конфигов руками не правлено, все по-умолчанию.
Если вызывать из консоли это будет чтото вроде
Для host-системы память виртуальных машин это память приложений.
Когда физической памяти будет недостаточно для хранения памяти всех приложений, ядро начинает swapping редко используемых страниц памяти. Причем это происходит для памяти, как занятых приложениями, так и tmpfs. В итоге редко используемая память виртуальных машин будет сжата.
Да, zRam отьедает кусок ОЗУ. Но она не хранит полностью нулевые страницы памяти, и те данные которые она хранит почти всегда в сжатом виде занимают меньше места чем оригинальные.
Моя практика показывает что на сервере виртуализации степень сжатия 1 к 3. На ноутбуке девушки видел и 1 к 10.
Интересно что из стоящего под столом можно легким движением руки улучшить)
Если вопрос о реальной производительности карты — то никаких изменений не будет
Ускорения при это НЕ происходит.
сам gnif сделал это для того чтобы поцепить 3 монитора, что работает под windows, а драйвера под linux включают это только когда «видят» Quadro
Пока все влазит в ОЗУ и тут тоже не будет свопа.
В поведении когда ОЗУ кончается. Отключенный своп череват
oom-killer-ом.Например: на серверах виртуалок, плотность укладки виртуалок часто превосходит доступное количество памяти, потому swap выключать нельзя. А латентность сжатия на порядки ниже чем время доступа к жесткому диску. Даже ssd.
Я гентушник. Причем не потому что скомпилированная система под локальную машину имеет некое ускорение. И не потому что скомпилированная под мои нужны включает только то что мне надо и весит 3 гига. А потому что я получаю наслаждение от понимания что, как и почему работает.
Во время компиляции очередной версии ядра, иногда вчитываюсь в настройки, начинаю гуглить и разбираться. И нахожу такие плюшки.
Во время появления новых приложений в дереве portage читаю их описания. Если заинтересовало — гуглю. Вскоре собираюсь написать статью о opensource full-mesh vpn сети. О которой узнал потому что у нее полтора месяца назад появилась новая версия в portage.
The zero_pages file specifies number of zero filled pagesКоличество страниц. Стандартный размер страницы для x64 — 4Кбайт. Потому чтоб получить размер изначальных нулевых страниц в байтах
zero_pages*4096Для huge-pages появилась в 3.8.
zRam делает это не в момент выделения, а в процессе работы. Часто бывает что какието данные в странице «были, да сплыли». То есть после того как OC выделила страницу с нулями, какое то значение было записано, а потом обнулено. В итоге страница полна нулей, но чтобы ОС сделала оптимизацию нужны какие то трюки.
swapon /dev/zram0 -p 10это и есть приоритет. Страницы подкачки располагаются в устройствах и файлах подкачки согласно убыванию их приоритета(сначала полностью заполняются пространства с большим приоритетом). Приоритет по умолчанию — 1.В итоге: если у swap на диске приоритет по умолчанию и для zram указан приоритет 10, то swapping на диск не будет происходить до израсходования размера zram.
у меня
sizeтам отсутствует.Есть
zero_pages— количество страниц заполненных нулями.Есть
orig_data_size— размер изначальных данных за вычетом «нулевых» страницЕсть
compr_data_size— размер данных в сжатом виде.Есть
mem_used_total— суммарное потребление памяти с учетом фрагментации и метаданных.В итоге для расчета степени сжатия я использую формулу
mem_used_total/(zero_pages*4096+orig_data_size)Как адекватно измерить потребление CPU на сжатие данных ядром я не знаю. Если Вы знаете метод — буду рад протестировать.
Выигрыш имеет тотже характер что и на ноутбуке: когда память заканчивается не происходит переход в состояние «я черепаха, не трогай меня».
uKSM не использую и не буду до того как не войдет в mainline, так как желание попадаться на «локальные особенности» у меня уже иссякло. Наигрался.
Никаких конфигов руками не правлено, все по-умолчанию.
Если вызывать из консоли это будет чтото вроде
Когда физической памяти будет недостаточно для хранения памяти всех приложений, ядро начинает swapping редко используемых страниц памяти. Причем это происходит для памяти, как занятых приложениями, так и tmpfs. В итоге редко используемая память виртуальных машин будет сжата.
Моя практика показывает что на сервере виртуализации степень сжатия 1 к 3. На ноутбуке девушки видел и 1 к 10.