Автор Тема: Забивание Оперативной памяти  (Прочитано 2362 раз)

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #15 : 03.12.2022 02:15:35 »
больше проблема в том что например когда закрыл браузер - кэш дисков должен очиститься, а он остаётся и так от каждого приложения все копится.

проблема в том что система ползет в своп.
вот надо с этим решить - при обычной работе в свопе должно быть 0...
а чистка кеша это как чистка чакр - бесполезная примочка - только в лишнюю будет ресурсы система на эту "чистку" тратить.
в свопе должно быть 0...  можно не 0 но где-то 10%, а тут прям более 50% всё хавается

Вот тут  https://forum.altlinux.org/index.php?topic=38.420 уважаемым Speccyfighter был подробно разобран вопрос про swap
Вас больше интересует настройка через параметр swappiness
Вот тут тоже про это есть: https://wiki.archlinux.org/title/Swap_(Русский)#Swappiness
Там больше про подкачку, у меня по факту кэш данных в оперативной памяти, и он чистится с помощью "sync".
Так вот этот кэш данных надо уменьшить в использовании до 10%, чтобы он не оставлял свободной памяти 200-300 Мб
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: Забивание Оперативной памяти
« Ответ #16 : 03.12.2022 07:51:33 »
Зачем уменьшать кеш? Он отбрасывается при нехватке оперативы. sync там, грубо говоря, выполняется в фоне и явный вызов лишь помешает системе выстроить оптимальную очередь запросов к накопителю.

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #17 : 03.12.2022 09:00:23 »
Зачем уменьшать кеш? Он отбрасывается при нехватке оперативы. sync там, грубо говоря, выполняется в фоне и явный вызов лишь помешает системе выстроить оптимальную очередь запросов к накопителю.
Потому что получается что человек работает быстрее чем компьютер, хотя i5 и памяти мин 8 гб, но всё сжирает, и мои 16 гб тоже не помеха, а подкачка при этом спит
Комментарий с другого сайта
Цитировать
Однако полезно, кэш съел 4.5Gb из 7.2 доступных. Даже Intellij Idea вместо с хромооперой и запущенным веб-серверов и то съедают максимум 2.5Gb. Вот вообще не понимаю зачем мне все эти проблемы, если кэш столько съедает, то система впритык хаватает 7156 и всё система померла. Будто механизм очистки кэша вообще не работает.
« Последнее редактирование: 03.12.2022 09:05:57 от kessys »
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Забивание Оперативной памяти
« Ответ #18 : 03.12.2022 12:25:08 »
подкачка при этом спит

Я просто исхожу из того, что подкачка = тормоза если на блинах или более ранняя смерть если на ssd  - нафига оно?
Пусть ее дистрибутив юзает когда точно ему надо.
А кеш ну висит и висит - кушать не просит...
Это на домашнем можно тюнинговать локалхост до посинения, но у вас же много компьютеров и надо решение которое будет тиражироваться.
У меня зоопарк по железу, я решил ориентироваться на lxde - просто и быстро - юзвери привыкли...
« Последнее редактирование: 03.12.2022 12:28:35 от YYY »

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: Забивание Оперативной памяти
« Ответ #19 : 03.12.2022 13:28:29 »
Комментарий с другого сайта
Цитировать (выделенное)

    Однако полезно, кэш съел 4.5Gb из 7.2 доступных. Даже Intellij Idea вместо с хромооперой и запущенным веб-серверов и то съедают максимум 2.5Gb. Вот вообще не понимаю зачем мне все эти проблемы, если кэш столько съедает, то система впритык хаватает 7156 и всё система померла. Будто механизм очистки кэша вообще не работает.

Я не понимаю, что это доказывает. Я могу написать на другом сайте любую чушь и на неё ссылаться, это будет иметь вес? Наличие понимания, что такое кеш, для чего он нужен и как это всё работает - не будет играть ни какой роли?
« Последнее редактирование: 03.12.2022 13:30:01 от trs »

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #20 : 03.12.2022 16:33:10 »
подкачка при этом спит

Я просто исхожу из того, что подкачка = тормоза если на блинах или более ранняя смерть если на ssd  - нафига оно?
Пусть ее дистрибутив юзает когда точно ему надо.
А кеш ну висит и висит - кушать не просит...
Это на домашнем можно тюнинговать локалхост до посинения, но у вас же много компьютеров и надо решение которое будет тиражироваться.
У меня зоопарк по железу, я решил ориентироваться на lxde - просто и быстро - юзвери привыкли...
Так к графической оболочке kde plasma та вопросов нет особо, вопросы к глюкам во время вроде бы казалось простой офисной работы
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #21 : 03.12.2022 16:36:33 »
Комментарий с другого сайта
Цитировать (выделенное)

    Однако полезно, кэш съел 4.5Gb из 7.2 доступных. Даже Intellij Idea вместо с хромооперой и запущенным веб-серверов и то съедают максимум 2.5Gb. Вот вообще не понимаю зачем мне все эти проблемы, если кэш столько съедает, то система впритык хаватает 7156 и всё система померла. Будто механизм очистки кэша вообще не работает.

Я не понимаю, что это доказывает. Я могу написать на другом сайте любую чушь и на неё ссылаться, это будет иметь вес? Наличие понимания, что такое кеш, для чего он нужен и как это всё работает - не будет играть ни какой роли?

Я взял красивое описание похожее вблизи к ситуации, потому что что-то запустил ёмкое поработал - выключил и кэш данных особо не изменился после закрытия, и свободной ОП памяти всё также 100-400 мб , то есть получается приложение не закрылось полностью как хотелось бы.
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Забивание Оперативной памяти
« Ответ #22 : 03.12.2022 18:23:56 »
офисной работы

простая офисная работа сейчас это работа в том числе и в нескольких браузерах или в поделках на электроне  - а это на гигабайту на приложение вынь да положь, что под вин, что под лин.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 146
Re: Забивание Оперативной памяти
« Ответ #23 : 03.12.2022 19:16:11 »
Я взял красивое описание похожее вблизи к ситуации, потому что что-то запустил ёмкое поработал - выключил и кэш данных особо не изменился после закрытия, и свободной ОП памяти всё также 100-400 мб , то есть получается приложение не закрылось полностью как хотелось бы.
Приложение закрылось, выделенная ему память освободилась (пометилась как свободная). А файловый кэш - он общий для всей ОС. Одни и те же файлы могут использоваться разными приложениями от имени разных пользователей. Именно ОС определяет политику использования памяти под файловый кэш.
То, что у вас файловый кэш резко уменьшился после sync, говорит о том, что вероятно приложение много писало в файлы, и после sync буфера скинулись на диск и освободили память.
По мере надобности памяти (запустилось ещё приложение и запросило для себя память) файловый кэш может уменьшиться, освободив например память, которая уже давно не использовалась, например, выделенную для кэширования файлов уже давно закрытого приложения.
Если свободной памяти в системе много, то файловый кэш может сохраняться весьма долго.

Например, я замечал, что у меня первый запуск виртуальной машины KVM (libvirt) происходит с обычной скоростью, но после её останова и спустя несколько часов несложной возни (редактирование текстов, браузер), когда снова запускаешь эту же виртуалку, то её старт происходит гораздо шустрее. И как-то совершенно не замечалось, что файловый кэш не очищался полностью.

Вот эксперимент.
Конфигурация компа Starterkit KDE, оперативки 8Гб, HDD 7200об/мин, для виртуалки (вин7) выделено 2Гб оперативки, диск - 35Гб.
Сессия КДЕ не запущена, удаленный доступ через тоннель ssh к виртуалкам (libvirt это легко и красиво позволяет)
 В состоянии до запуска виртуалки
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       386Mi       2,6Gi       318Mi       4,7Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Доступно - 6.7Гб, т.е. система резервирует под кэш 0.6Гб, остальное готова отдать приложениям.
Теперь запускаем виртуалку:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       2,5Gi       596Mi       318Mi       4,6Gi       4,6Gi
Swap:          8,0Gi        12Mi       8,0Gi
Виртуалка сожрала чуть больше 2.1Гб памяти, файловый кэш уменьшился на 100 метров, в своп ничего не ушло.
Запускаем ещё одну виртуалку с такими же параметрами как у первой:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       4,5Gi       124Mi       314Mi       3,0Gi       2,6Gi
Swap:          8,0Gi        13Mi       8,0Gi
Память для ещё одной виртуалки выделилась за счет уменьшения файлового кэша, своп увеличился буквально на 1 мегабайт.
Тушим обе виртуалки:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       377Mi       4,3Gi       313Mi       3,0Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Просто освободилась память, кэш остался пока на прежнем уровне.
Теперь запускаем тестирование архива 7z размером 36Гб (как раз оказался под рукой :) ), чтобы поднапрячь файловый кэш. Сразу после тестирования:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       352Mi       140Mi       313Mi       7,2Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Как видим, забрал под кэш по максимуму. После sync картина не поменялясь, впрочем и понятно, кэш использовался  в основном на чтение.
Опять запускаем одну виртуалку, кстати, запуск происходит весьма быстро, т.е. что-то в кэше возможно оставалось:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       2,5Gi       125Mi       313Mi       5,1Gi       4,6Gi
Swap:          8,0Gi        12Mi       8,0Gi
И останавливаем виртуалку:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       373Mi       2,2Gi       312Mi       5,0Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi

Таким образом видим, что работа с памятью в линукс очень даже неплохо организована по умолчанию без каких-либо дополнительных тонких настроек.

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
Re: Забивание Оперативной памяти
« Ответ #24 : 03.12.2022 19:39:30 »
Просто оставлю это здесь https://www.linuxatemyram.com .
Проблемы нет.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Re: Забивание Оперативной памяти
« Ответ #25 : 03.12.2022 22:12:42 »
Просто оставлю это здесь https://www.linuxatemyram.com .
Проблемы нет.

я же теперь не засну после таких ужасов...

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #26 : 03.12.2022 22:40:37 »
Я взял красивое описание похожее вблизи к ситуации, потому что что-то запустил ёмкое поработал - выключил и кэш данных особо не изменился после закрытия, и свободной ОП памяти всё также 100-400 мб , то есть получается приложение не закрылось полностью как хотелось бы.
Приложение закрылось, выделенная ему память освободилась (пометилась как свободная). А файловый кэш - он общий для всей ОС. Одни и те же файлы могут использоваться разными приложениями от имени разных пользователей. Именно ОС определяет политику использования памяти под файловый кэш.
То, что у вас файловый кэш резко уменьшился после sync, говорит о том, что вероятно приложение много писало в файлы, и после sync буфера скинулись на диск и освободили память.
По мере надобности памяти (запустилось ещё приложение и запросило для себя память) файловый кэш может уменьшиться, освободив например память, которая уже давно не использовалась, например, выделенную для кэширования файлов уже давно закрытого приложения.
Если свободной памяти в системе много, то файловый кэш может сохраняться весьма долго.

Например, я замечал, что у меня первый запуск виртуальной машины KVM (libvirt) происходит с обычной скоростью, но после её останова и спустя несколько часов несложной возни (редактирование текстов, браузер), когда снова запускаешь эту же виртуалку, то её старт происходит гораздо шустрее. И как-то совершенно не замечалось, что файловый кэш не очищался полностью.

Вот эксперимент.
Конфигурация компа Starterkit KDE, оперативки 8Гб, HDD 7200об/мин, для виртуалки (вин7) выделено 2Гб оперативки, диск - 35Гб.
Сессия КДЕ не запущена, удаленный доступ через тоннель ssh к виртуалкам (libvirt это легко и красиво позволяет)
 В состоянии до запуска виртуалки
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       386Mi       2,6Gi       318Mi       4,7Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Доступно - 6.7Гб, т.е. система резервирует под кэш 0.6Гб, остальное готова отдать приложениям.
Теперь запускаем виртуалку:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       2,5Gi       596Mi       318Mi       4,6Gi       4,6Gi
Swap:          8,0Gi        12Mi       8,0Gi
Виртуалка сожрала чуть больше 2.1Гб памяти, файловый кэш уменьшился на 100 метров, в своп ничего не ушло.
Запускаем ещё одну виртуалку с такими же параметрами как у первой:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       4,5Gi       124Mi       314Mi       3,0Gi       2,6Gi
Swap:          8,0Gi        13Mi       8,0Gi
Память для ещё одной виртуалки выделилась за счет уменьшения файлового кэша, своп увеличился буквально на 1 мегабайт.
Тушим обе виртуалки:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       377Mi       4,3Gi       313Mi       3,0Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Просто освободилась память, кэш остался пока на прежнем уровне.
Теперь запускаем тестирование архива 7z размером 36Гб (как раз оказался под рукой :) ), чтобы поднапрячь файловый кэш. Сразу после тестирования:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       352Mi       140Mi       313Mi       7,2Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi
Как видим, забрал под кэш по максимуму. После sync картина не поменялясь, впрочем и понятно, кэш использовался  в основном на чтение.
Опять запускаем одну виртуалку, кстати, запуск происходит весьма быстро, т.е. что-то в кэше возможно оставалось:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       2,5Gi       125Mi       313Mi       5,1Gi       4,6Gi
Swap:          8,0Gi        12Mi       8,0Gi
И останавливаем виртуалку:
$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       373Mi       2,2Gi       312Mi       5,0Gi       6,7Gi
Swap:          8,0Gi        12Mi       8,0Gi

Таким образом видим, что работа с памятью в линукс очень даже неплохо организована по умолчанию без каких-либо дополнительных тонких настроек.

Касательно однотипной работы согласен, но есть работа с консультант  и с разными документами не одними процессами и тут важно двигаться, а не оставлять хвосты.
Поэтому я бы предпочёл бы режим свободной памяти от кэша.
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 146
Re: Забивание Оперативной памяти
« Ответ #27 : 04.12.2022 10:54:46 »
Простой поиск по фразе "linux размер файлового кэша" выдаёт ряд ссылок, среди которых, например, такая
https://habr.com/ru/company/otus/blog/566970/
Изучайте, экспериментируйте, если вас не устраивает поведение по умолчанию.


Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: Забивание Оперативной памяти
« Ответ #28 : 05.12.2022 06:14:31 »
Я взял красивое описание похожее вблизи к ситуации, потому что что-то запустил ёмкое поработал - выключил и кэш данных особо не изменился после закрытия, и свободной ОП памяти всё также 100-400 мб , то есть получается приложение не закрылось полностью как хотелось бы.

Так я и не понял, что за ситуация, и какая проблема решается. Что-то «тормозит»?

Поясню. Есть такой эпический баг №12309. Якобы, когда ОЗУ забито и происходит активная работа с накопителем, система «встаёт колом». Одним людям он жить не даёт, вторые его в упор не видят. Я отношусь ко вторым. При этом я сумел воспроизвести. На другом форуме нашёл скрипт, который «вешает систему намертво». У меня он ничего не вешает. Открыл другую тему того эксперта - он там «ускоряет» систему, переносит swap в ZRAM, «оптимизирует» swappiness и так далее. Повторил и эти шаги, действительно, баг №12309 имеет место быть. :)

Онлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 621
Re: Забивание Оперативной памяти
« Ответ #29 : 16.12.2022 20:30:44 »
Я взял красивое описание похожее вблизи к ситуации, потому что что-то запустил ёмкое поработал - выключил и кэш данных особо не изменился после закрытия, и свободной ОП памяти всё также 100-400 мб , то есть получается приложение не закрылось полностью как хотелось бы.

Так я и не понял, что за ситуация, и какая проблема решается. Что-то «тормозит»?

Поясню. Есть такой эпический баг №12309. Якобы, когда ОЗУ забито и происходит активная работа с накопителем, система «встаёт колом». Одним людям он жить не даёт, вторые его в упор не видят. Я отношусь ко вторым. При этом я сумел воспроизвести. На другом форуме нашёл скрипт, который «вешает систему намертво». У меня он ничего не вешает. Открыл другую тему того эксперта - он там «ускоряет» систему, переносит swap в ZRAM, «оптимизирует» swappiness и так далее. Повторил и эти шаги, действительно, баг №12309 имеет место быть. :)
Сегодня было на 1 пк, вроде ничего такого открыто не было браузер, ещё что-то такое открылся документ в мойофис справа внизу написало о нехватки памяти и процессе мой офис, и завис и тока на перезагрузку, времени не было размусоливать, а так можно по ssh проникнуть и попробовать сбить процесс.
При этом на пк 16 гб фактически!
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.