оперативная память профиль xmp[решено,передумал]

Aivar
Была статья, где страшно умный дядька разжевывал как работает память и утверждал, что если у вас физически отсутствует своп, то он все же присутствует в памяти
Есть такие типы данных, которые рекомендуется хранить по дольше, на всякий случай, могут понадобится снова. Объем этих данных для обычных приложений, как правило, не большой.
И на этот счет умные дяди пишут, что пусть эти данные лучше хранятся в swap и не занимают ОЗУ.
На что я им отвечаю, что объем этих данных не такой уж и большой, а задач с большим объемом таких данных у обычных юзеров практически и нет … а потому при наличии достаточного объема в ОЗУ эти данные могут похраниться и там, кстати они быстрее и считаются при их вызове.
Но, главное то, что эти дяди не могут объяснить - а почему при наличии swap эти данные должны обязательно попасть в swap, а не остаться в ОЗУ? - так написана программа? или заложено в системе? - ничего подобного нет. Проводил по молодости эксперименты, что попадает в swap - ответ один, если памяти достаточно и она грамотно организована, то swap пустой … конечно, до разумных границ.

Только факты
1. Скорость доступа к RAM - наносекунды, скорость доступа к SSD - микросекунды, скорость доступа к HDD - миллисекунды.
Это означает, что ОЗУ в 1000 раз быстрее, чем SSD и 100 000 раз быстрее, чем обычный HDD.
2. Нет никаких обоснованных руководств о необходимости и размере swap, только одни рекомендации.
3. Для каких целей рекомендуют использовать swap
- хранение определенных данных (inactive memory)
- ограниченный объем ОЗУ
- применение hibernation
- для обеспечения дополнительного уровня стабильности, если какая либо программа начнет злоупотреблять ОЗУ и др.
Хотя для этого можно использовать другие способы и средства, которые справляются с этим намного лучше.
4. Рекомендуемый объем swap - согласно последних рекомендаций этот объем не значительный - порядка 20-30% от объема ОЗУ.

PS - имею обьем ОЗУ 6G и уже несколько лет не использую swap, правда для постраховки установлен earlyoom - ни проблем, ни зависаний ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
Для каких целей рекомендуют использовать swap
- ограниченный объем ОЗУ
Утверждается, что мнение про своп как "расширение ОЗУ" - типичная ошибка. На предыдущей странице ссылка. Статья не моя, даже перевод не мой. Я ни за, ни против свопа, но пущай будет, раз об этом так заумно написано.

vasek
Скорость доступа к RAM - наносекунды, скорость доступа к SSD - микросекунды, скорость доступа к HDD - миллисекунды.
Это означает, что ОЗУ в 1000 раз быстрее, чем SSD и 100 000 раз быстрее, чем обычный HDD
https://archlinux.org.ru/forum/post/254155/
Aivar
"расширение ОЗУ" - типичная ошибка
это понятно, просто привел это как общий случай …. согласен, для современных компов это уже не применимо, но остались еще и старые компы, для которых это применимо.

В общем случае, по простому говоря, память делится на активную (active memory) и неактивную (inactive memory).
active memory - объем памяти, который используется в данный момент, этот объём памяти нужен системе и будет освобождаться только в случае крайней необходимости.
inactive memory - объем памяти, который был выделен процессу, но больше не используется и оставлен на всякий случай …. вот его и можно переместить в swap, если он имеется, и эти данные если снова понадобятся они сразу вернутся.
А вот если нет swap и эти данные находятся в RAM, то в случае если другому процессу потребуется память и не будет "чистой памяти", то тогда эта память будет перераспределена (будет выделена тому процессу, которому не хватило "чистой памяти").

PS - (in)active memory = (in)active(anon) + (in)active(file)
Ноут работал весь день (половину времени был в suspend) и имеем
cat /proc/meminfo | egrep 'Active:|Inactive:'
Active:           467204 kB
Inactive:         964436 Kb
то есть накопилось около 1G не нужной памяти, она спокойно лежит в ОЗУ и не удаляется, на работу не сказывается …
Ошибки не исчезают с опытом - они просто умнеют
Aivar
Ну вот, хотя бы…
почитал,там в самом конце обсуждения есть ссылка на вендора,разработчика какой-то навороченной программы
цитата оттуда:
swaping is the death of perfomance (swap убивает производительность.)
и дальше небольшой перевод кусочка статьи:
Это должно быть очевидно, но следует ясно изложить: замена основной памяти на диск приведет к снижению производительности сервера. Подумайте об этом: операция в памяти — это операция, которую нужно выполнять быстро.
Если память переключается на диск, 100-микросекундная операция становится 10-миллисекундной. Теперь повторите это увеличение задержки для всех остальных операций 10us. Нетрудно понять, почему подкачка плохо влияет на производительность.
Лучше всего полностью отключить своп в вашей системе. Это можно сделать временно:
sudo swapoff - а
Чтобы отключить его навсегда, вам, вероятно, потребуется отредактировать файл /etc/fstab. Обратитесь к документации по вашей ОС.(что я и сделал)


человек ,который это писал,програмист,с образованием,придумывает умные программы,мне,не имеющему компьютерного образования , самоучке,с ним спорить как-то ... ,ну вы поняли.
Вы же не будете указывать архитектору как правильно строить или балерине как правильно танцевать...
и мои практические навыки полностью подтверждают мысль данного вендора.
Linux Forever!
Vadim
замена основной памяти на диск приведет к снижению производительности сервера
Никто и не утверждал обратного.

Vadim
Лучше всего полностью отключить своп в вашей системе.
Речь о сервере?

И вообще, если не нужна гибернация, с нынешними объемами ОЗУ разговор о физическом свопе не актуален. А вот дает ли профит своп в zram -хз. Я выделил 25%.
Aivar
с нынешними объемами ОЗУ разговор о физическом свопе не актуален
понаблюдал за системой,почитал,теперь не уверен что своп вообще никому не нужен.
включил компьютер без своп на 2-е суток без перезагрузки,подойду,пороюсь в интернете,посмотрю видео...
в общем к концу вторых суток вроде все работает,не виснет,но закрыв все окна потребление памяти 12 гб. из 16!
и очистить память,сбросить кеш к примеру
 sync; echo 3 > /proc/sys/vm/drop_caches
некуда!
свопа нет,память очистить некуда!только перезагрузка.
система на ssd,раздела swap нет,но подключен еще hdd(файлопомойка),на нем есть неподключенный раздел swap,включил его swapon,
потом только смог освободить память.получается когда компьютер постоянно включен и нельзя перезагружать swap нужен,хоть на hdd,хоть на флешке.
скорость не важна,главное чтобы было куда сбросить память.
для меня,к примеру,swap нужен не очень,раз за несколько часов и перезагрузить нетрудно,с ssd секунд 15 занимает.
Linux Forever!
Vadim
потребление памяти 12 гб
вы скорее всего неверно интерпретирует показание программ, читайте мануалы.
Ошибки в тексте-неповторимый стиль автора©
Vadim
в общем к концу вторых суток вроде все работает,не виснет,но закрыв все окна потребление памяти 12 гб. из 16!
Если просто занято много оперативной памяти, то это еще ни о чем не говорит.
А в одной статье встретилась фраза:
Скорее нужно беспокоиться не о том, что занято много оперативной памяти, а о том, что ее используется мало.

В части
Vadim
sync; echo 3 > /proc/sys/vm/drop_caches
Не слушай плохих советов - память не должна простаивать, она должна использоваться по максимуму. Ядро само решит, когда следует очистить память.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.