1 Востаннє редагувалося ch0r_t (12.09.2021 06:07:41)

Тема: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Ця найдивніша проблема, якої ніколи не зустрічав - оперативна пам'ять поступово заповнюється, з часом. Якась повніша триклята бісовщина. Вочевидь правильно сформулювати англійською проблему не можу, бо нічого подібного не знайдено.
Плюс весь цей дивний масиви-дерева процесів... Всі програми закриті, (в тч.браузер. Очевидно. Консоль запущено в одному екземплярі.)

Не знаю що відбувається і як це виправити. Буду вдячний коли хто, буде добрий і пояснить що це таке чи дасть посилання на таке пояснення.

$ uname -a
Linux hp15 5.10.61-1-MANJARO #1 SMP PREEMPT Thu Aug 26 20:36:54 UTC 2021 x86_64 GNU/Linux

Дві хвилини після запуску (відразу після перезавантаження):

Прихований текст

https://i.ibb.co/p4cTNjW/Screenshot-20210912-035959.png
https://i.ibb.co/jyC94DC/Screenshot-20210912-035952.png
https://i.ibb.co/1mrhTXb/Screenshot-20210912-035942.png

Через деякий час роботи:

Прихований текст

https://i.ibb.co/FzXM5NZ/Screenshot-20210912-035354.png
https://i.ibb.co/Jvxz3JF/Screenshot-20210912-035409.png
https://i.ibb.co/BT5cKkn/Screenshot-20210912-035418.png

2

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Щось гальмує? Якщо ні - у чому проблема, одна цифрочка не така, як вам би хотілося? Намалюйте фломастером на моніторі іншу :)
Що free -h каже?

Оскільки в процесах нічого надто страшного так не помітно, то спробуйте скинути системні кеші:

# sync; echo 1 > /proc/sys/vm/drop_caches

(там є ще опції 2 і 3, але почніть з цього).
Якщо пам'ять звільниться - то просто не звертайте уваги, кеш не сповільнює, а прискорює систему.

Подякували: ch0r_t, wander, HetmanNet3

3 Востаннє редагувалося HetmanNet (12.09.2021 14:25:04)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

tchort написав:

Ця найдивніша проблема, якої ніколи не зустрічав - оперативна пам'ять поступово заповнюється, з часом.

З чого взяли, що то проблема, а не нормальна поведінка?

P.S. Все таки уявлення яке формує шкільний курс інформатики далеке від того як веде насправді себе ОС та працює залізо. Тож те що пам'ять виїдається з часом може бути як нормою так "витіком пам'яті" через помилку в одному з компонентів, а з досвіду скажу зазвичай присутнє і те і інше. Тож докиньте пам'яті, оновлюйтеся регулярно та не парте собі тим мізки бо пам'ять дешевше ніж витрачене життя на війну з вітряками.

Подякували: 0xDADA11C7, ch0r_t2

4

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Мабуть у вас SSD, тому так. Це скоріше не вдале представлення памяті. Зараз у всіх ОС є така проблема. І всі розуміють, що краще вже так, ніж зовсім без кешу, тому не спішать виправляти.

Подякували: ch0r_t1

5

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

koala написав:

Що free -h каже?

6 Востаннє редагувалося HetmanNet (12.09.2021 20:01:50)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

leofun01 написав:

Мабуть у вас SSD, тому так. Це скоріше не вдале представлення памяті. Зараз у всіх ОС є така проблема. І всі розуміють, що краще вже так, ніж зовсім без кешу, тому не спішать виправляти.

На hdd та сама фігня. Взагалі причина не в якомусь невдалому представленні, а в наявності досить вдалого механізму кешування для зменшення кількості операцій з диском, бо що ssd що hdd для ПК одне з найбільших гальм для системи. Ідеальна система: коли диск працює зі швидкістю оперативної пам'яті, що поки мрія.

Подякували: wander, leofun01, ch0r_t3

7

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Тут ще питання, як та чи інша програма рахує вільну оперативку. Одна може файловий кеш ядра вважати вільною пам'яттю, а інша - зайнятою. В KDE є утиліта KInfoCenter, де є розділ зі статистикою використання оперативки. Там чітко видно чим і яка пам'ять зайнята.

Подякували: leofun01, ch0r_t2

8 Востаннє редагувалося ch0r_t (13.09.2021 05:32:28)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

$ free -h
               total        used        free      shared  buff/cache   available
Mem:           5,8Gi       1,1Gi       2,2Gi        85Mi       2,5Gi       4,4Gi
Swap:             0B          0B          0B

Воно мені не подобається. Я "твердо не пам'ятаю такого" з того часу коли гортав, декілька років тому (5-6), короткий опис в ~5-10стр принципів роботи ОС (не рахуючі тих уламків інформації добутих при вивченні "systems programming" мов). Мене про це ніхто не попереджував. Довго воно існує, поки я того не помічав? Я не отримував ніяких повідомлень, брошур чи листівок про це нововведення коли встановлював ОС.
    Я не люблю "це". Ви ж не хочете сказати що система оцінить що звільнити з памяті і проведе те вивільнення мотлоху в 0 наносекунд. Якщо ні, тоді це вплине на час старту нових програм. І збір кешу теж не без втрат ресурсів/часу проходить, треба уявляти... Як воно допоможе загалом коли це ще один "tradeoff". Я не люблю цього теж. Отримаю якийсь краш чи OutOfMem бо та система чогось там не встигла, чи не змогла чогось провернути при запуску гри з під wine, знатиму що згадувати. I don't like this sh*t.
Так, маю SSD.

KInfoCenter, тільки Kate та цей інфо-центр запущено, нічого більше, uptime ~24h ->

Прихований текст

https://i.ibb.co/YbB0YYN/Screenshot-20210913-055811.png

9

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Ну пише ж: кеш. Один кеш-промах значно дорожчий за скидання всього кешу.

Подякували: Torbins1

10 Востаннє редагувалося ch0r_t (13.09.2021 08:24:25)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Так, це то я розумію, але що проходить повз мене — нащо всім тим процесам і службам раптом знадобився цей механізм, все було так погано раніше і раптом все тільки загострилось, що вони вирішили представити цю штуку в ОС?

Я використовую свій дешевий лептоп для рендеру і тестів різних написаних іграшок на C++...там і так досить по всьому периметру розкиданих значень часу поки не визначу найменший час, не кажучи вже про рендер який з'їдає всю пам'ять коли текстури великі і який тягнеться годинами...ще й цей механізм кешування — тільки його не вистачало мені.

11

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

tchort написав:

Воно мені не подобається.

Ну то напишіть свою ОС.

tchort написав:

Я "твердо не пам'ятаю такого" з того часу коли гортав, декілька років тому (5-6), короткий опис в ~5-10стр принципів роботи ОС (не рахуючі тих уламків інформації добутих при вивченні "systems programming" мов). Мене про це ніхто не попереджував.

Ну тоді вам з претензіями до авторів отої  макулатури яку читали замість документації.

tchort написав:

Довго воно існує, поки я того не помічав?

В Linux з 90х


tchort написав:

Я не отримував ніяких повідомлень, брошур чи листівок про це нововведення коли встановлював ОС.

А з чого взяли, що мали? Принцип роботи ОС і її компонентів описаний в документації, а ліцензія каже те саме що Зе: "я нікому і нічого не винний".

tchort написав:

Я не люблю "це".

Думаєте, когось то хвилює що ви то не любите?

tchort написав:

Якщо ні, тоді це вплине на час старту нових програм.

Втрати на запуску менш важливі за втрати під час роботи, тому віддать перевагу довшому запуску за для швидшої роботи, бо софт в роботі проводить більше часу ніж в запуску.

Подякували: ch0r_t1

12

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

tchort написав:

Так, це то я розумію, але що проходить повз мене — нащо всім тим процесам і службам раптом знадобився цей механізм, все було так погано раніше і раптом все тільки загострилось, що вони вирішили представити цю штуку в ОС?

Я використовую свій дешевий лептоп для рендеру і тестів різних написаних іграшок на C++...там і так досить по всьому периметру розкиданих значень часу поки не визначу найменший час, не кажучи вже про рендер який з'їдає всю пам'ять коли текстури великі і який тягнеться годинами...ще й цей механізм кешування — тільки його не вистачало мені.

Ви часом не Ukrvital?

13 Востаннє редагувалося ch0r_t (13.09.2021 08:49:08)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

HetmanNet написав:

В Linux з 90х

Але я такого раніше не помічав. Це вже третя машина моя на якій тримаю Linux. Це дивно, як таке сталось. Може це все я, біс знає.

HetmanNet написав:

Думаєте, когось то хвилює що ви то не любите?

— чесно кажучи, була така надія.

HetmanNet написав:

Ви часом не Ukrvital?

Я просто тестую так грубо, вимірюю середню затримку виконання функції. Чи я чогось не того написав? На що саме ви натякаєте?
Не знаю чи те кешування впливає на час, і як сильно. Це все що я мав на увазі.

14 Востаннє редагувалося ch0r_t (13.09.2021 08:58:41)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Вибачте що я не знаю всіх цих деталей, і не хочу дізнаватися про них поки що. Не можна очікувати щоб кожен користувач Linux вивчав як вся та клята ОС працює. Мав якогось занепокоєння, + мало що знаю про устрій ОС, як і написав. Що в тому не так?

Один хрін, коли дурного написав, чи маю і тут погане уявлення про те як все працює, то так і скажіть. Якось виправлю, не з цукру не розсиплюсь.

15

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

Він там завжди був. Змінитися могли усталені налаштування і відображення, ну й апетити програм трохи. Ще раз: для програм ця пам'ять доступна, щойно буде запит, для якого треба буде зменшити кеш - система його підіжме. А от для менеджера живлення ця пам'ять усе одно зайнята.

Подякували: ch0r_t, leofun012

16 Востаннє редагувалося HetmanNet (13.09.2021 11:26:10)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

tchort написав:

Але я такого раніше не помічав. Це вже третя машина моя на якій тримаю Linux. Це дивно, як таке сталось. Може це все я, біс знає.

Дивно, вже більше десятка років користуюся Linux як основною ОС і цей механізм був завжди. Єдине, що змінилося це те що розмір кеша став змінюватися більш динамічно, але тут причина швидше в споживацьких SSD та змінах в інтерпретаторах.

HetmanNet написав:

Не знаю чи те кешування впливає на час, і як сильно. Це все що я мав на увазі.

Все залежить від характеру навантаження на файлову систему (зазвичай стає причиною скорочення часу операцій).

Подякували: ch0r_t1

17 Востаннє редагувалося ch0r_t (13.09.2021 16:28:25)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

HetmanNet написав:

Дивно, вже більше десятка років користуюся Linux як основною ОС і цей механізм був завжди. Єдине, що змінилося це те що розмір кеша став змінюватися більш динамічно, але тут причина швидше в споживацьких SSD та змінах в інтерпретаторах.

Дозвольте тут дещо прояснити — і всі ці 10 років ваші системи майже до межі заповнювали оперативну пам'ять кешом (розміром майже як сама ОС на диску)? Чи тільки останнім часом через "(поширення) споживацьких SSD та змінах в інтерпретаторах"? Так проявляв себе цей "механізм що був завжди"?
І навіщо тому системному мотлоху вже такі об'єми? Хіба кеш не дійшовши якогось критичного розміру не перестає бути ефективним?

Тобто, не знаю коли ви кажете що це не суттєво і не має значення, та не є абнормальним, то один біс. Мені до того діла не має, коли все працює як треба і це не є якимось симптомом. Чудово, поки все працює, — то байдуже.

Подякували: leofun011

18 Востаннє редагувалося ReAl (14.09.2021 00:04:35)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

"подобається — не подобається" це не аргумент. Хто заважає взяти свою програму, і
1. завантажитися, почекати оті "uptime ~24h", запустити замір часу виконання
2. завантажитися, відразу запустити замір часу виконання
3. після пункту 2 пошаритися по форуму, пожалітися на тяжке життя, паралельно щось ще позапускати,  запустити замір часу виконання
4. після пункту 3 дропнути кеші як показав Koala (або відразу трієчкою), запустити замір часу виконання
5. залізти у fstab і заборонити кешування запису розділів диска
6-9. повторити пункти 1-4 у нових умовах.
10. повернути все як було і заспокоїтися.

Так, звільнення пам'яті від кешів не займе 0 наносекунд, але й запуск програми навіть з SSD не займе 0 мілісекунд.
На цьому тлі скидання кешів зчитування диска (а вони основні за обсягом) буде "дулі відсотка".
Заборона кешування запису на диски загалом лише уповільнить роботу і може вдарити по ресурсу SSD.
А забороняти кешування зчитування з диска наче й неможливо, але в тому й нема сенсу, бо той кеш приблизно (по механізму роботи і, відповідно, часу виконання) те ж саме, що відкладати виконання free() до того часу, як по malloc() знадобиться пам'ять.

p.s. Ще є /proc/sys/vm/laptop_mode, але він про економію батареї, а не про підвищення швидкості роботи.

p.s.2 А скільки на тому ноуті пам'яті встановлено? Невже 6 гігабайт? Чи там таки 2 гігабайти забрано під відеопам'ять? А воно треба?

Подякували: leofun01, ch0r_t2

19 Востаннє редагувалося ch0r_t (14.09.2021 04:48:22)

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

-Так і зроблю. Буде час.

ReAl написав:

p.s.2 А скільки на тому ноуті пам'яті встановлено? Невже 6 гігабайт? Чи там таки 2 гігабайти забрано під відеопам'ять? А воно треба?

Так точно. 8гб, з яких резервовано 2 гб на відеопам'ять. Розмір фіксований. Не знаю чи воно треба, чесно кажучи.

ReAl написав:

...може вдарити по ресурсу SSD.

Я того не знав. Хоча це скоріше очевидно. Має сенс.

20

Re: RAM поступово заповнюється. (Самовільно. Магічним чином.)

tchort написав:

-Так і зроблю. Буде час.

ReAl написав:

p.s.2 А скільки на тому ноуті пам'яті встановлено? Невже 6 гігабайт? Чи там таки 2 гігабайти забрано під відеопам'ять? А воно треба?

Так точно. 8гб, з яких резервовано 2 гб на відеопам'ять. Розмір фіксований. Не знаю чи воно треба, чесно кажучи.

Якщо нема потреби рахувати багато на відеокарті (ігри, які того вимагають, чи свої розрахунки), то воно не треба.
Я поліз у біос і тамтешнє «авто» поміняв на мінімум. Вже не пам'ятаю, здається, 128 мегабайт тепер забирає.