LINUX.ORG.RU
решено ФорумAdmin

Поясните про swap

 , ,


0

1

Сменил сборку на Manjaro. Сделал файл подкачки, и он ТОЛЬКО лишь начинает применятся при ~90% занятой физ. памяти. Тоже самое с разделом подкачки и с zram.

До этого был KDE neon, который охотно использовал раздел подкачки (начиная с ~50% занятой физ. памяти).

Для справки ноут с 8 гигабайтами ОЗУ, из которых доступно 7,5 ГиБ. Созданный раздел подкачки на 15 ГБ. Vm.swappiness как есть. Приоритет до этого менял, поведение не изменилось. Проверял через swapon --show.

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

Почему спрашиваю: производительность требовательных программ к ОЗУ резко замедляется (в случае с играми до нескольких кадров).

Примечание: системный накопитель зашифрован



Последнее исправление: temak (всего исправлений: 4)
Ответ на: комментарий от Shadow

Ну, так-то да, но когда нужно внезапно её освобождать, это ненормальная ситуация.

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

anc ★★★★★
()
Ответ на: комментарий от papin-aziat

Не будут выгружаться на диск различные сервисы при исчерпании (да и не при исчерпании) ОЗУ — не будет возникать ультра-лагодрома и подвисаний (зависаний UI) из-за порочного круга своппинга.
Даже на мощных системах полезно.

Exmor_RS ★★★
()
Последнее исправление: Exmor_RS (всего исправлений: 1)
Ответ на: комментарий от antech

плашки памяти … раздают практически даром.

Т.е. у любого гипотетического устройств безразмерный «плашкоприемник»?

Вот к чему подобные утверждения, если ты даже не поинтересовался конфигурацией железа ТС. )

Для справки ноут с 8 гигабайтами ОЗУ, из которых доступно 7,5 ГиБ.

krasnh ★★★★
()
Ответ на: комментарий от antech

Да хоть террабайт этих планок возьми, в ноут их все вставить не получится. Неизвестно сколько вообще слотов в его устройстве (если их два, то зачастую суммарно 16гб можно воткнуть), если ушлый производитель распаял какие-нибудь 4гб на плате, то вставить 8-гиговую планку, чтобы получить хотя бы 12гб. Никогда не пробовал вставлять 16-гиговые планки при распаяных 8гб…

Другое дело, что swap не нужен ни при 8, ни при 12, ни тем более при 16гб оперативЫ

anonymous
()
Ответ на: комментарий от antech

Производитель может поднасрать и вшить в прямо в бивисе поддержку только каких-нибудь 8гб. С частотами оперативки они же так делают, да и whitelist’ами на wifi и аккумуляторы не брезгуют.

Скорее всего причины есть где-то еще, потому что мой старый x230 с 3210M, который поддерживает до 32гб оперативки не запускался с 16-гиговыми планками. Хотя я использовал coreboot… Не знаю.

anonymous
()
Ответ на: комментарий от dmitry237

Там же не все команды подряд перебираются, a исходя из доступных вариантов

Не хватало ещё, чтобы оно перебирало и неподходящие варианты, это ж вообще повеситься можно.

А ещё такого типа автокомплиты любят удалять текст справа от курсора, после чего остаётся только выругаться и начинать всё сначала.

Или весь список соответствий по двойному табу.

Т.е. если один раз таб нажал, оно перебирает, а если два, то выдает список? Это от интервала между нажатиями зависит, или как?

annulen ★★★★★
()
Ответ на: комментарий от Exmor_RS

Смысл в том, что он там не нужен. Ты можешь указать ядру хранить наиболее используемые за последние N миллисекунд данные в памяти и активировать OOM-killer, если это требование невыполнимо.

hateWin ★☆
()
Ответ на: комментарий от rupert

tail /dev/zero отправил всё в своп, но система вроде не подвисла.

Когда только появился le9-patch (hakavlad), все, попробовавшие ядра с ним, были в полном а**е от новых возможностей системы. Минус - ядра приходилось собирать самостоятельно или использовать несколько кастомных, где патч был включен.

Но тут Гугл воспрял ото сна и выдал на гора MGLRU с тем же функционалом, что и le9, и попавший в ванильное ядро.

Я тогда писал, с выходом ядра 6.1, как это замечательно, что юзеру не придется ничего делать, все уже есть и все уже включено, и вся эта «манна небесная» на него просто свалилась «из коробки».



И вот, 2024 год, уже выпущено ядро 6.10, но оказывается, у кого-то еще /sys/kernel/mm/lru_gen/enabled равен 0x0000. Стремительная поступь прогресса зафризилась на десктопе отдельного юзера. )

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Сейчас проверил тот же майнкрафт с 32 чанками с LTS ядром и отключённым zswap: /sys/module/zswap/parameters/enabled:N. Разницы нет: также подкачка заполняется неохотно и быстро высвобождается (раньше оставалась), и также если ~90% физ. оперативы занято. В строке GRUB_CMDLINE_LINUX_DEFAULT файла /etc/default/grub прописал zswap.enabled=0.

temak
() автор топика
Ответ на: комментарий от anc

Как раз после закрытого майна с оставшейся памятью в подкачке: 776 МиБ из 3,3 ГиБ до этого.

cat /proc/meminfo

Вывод:

MemTotal: 7833732 kB

MemFree: 3894208 kB

MemAvailable: 4992640 kB

Buffers: 24 kB

Cached: 2033416 kB

SwapCached: 72620 kB

Active: 2077320 kB

Inactive: 891716 kB

Active(anon): 1405100 kB

Inactive(anon): 266004 kB

Active(file): 672220 kB

Inactive(file): 625712 kB

Unevictable: 571520 kB

Mlocked: 0 kB

SwapTotal: 15728636 kB

SwapFree: 14933500 kB

Zswap: 0 kB

Zswapped: 0 kB

Dirty: 1052 kB

Writeback: 0 kB

AnonPages: 1400228 kB

Mapped: 561260 kB

Shmem: 735508 kB

KReclaimable: 57000 kB

Slab: 161892 kB

SReclaimable: 57000 kB

SUnreclaim: 104892 kB

KernelStack: 11072 kB

PageTables: 24240 kB

SecPageTables: 0 kB

NFS_Unstable: 0 kB

Bounce: 0 kB

WritebackTmp: 0 kB

CommitLimit: 19645500 kB

Committed_AS: 9383452 kB

VmallocTotal: 34359738367 kB

VmallocUsed: 44536 kB

VmallocChunk: 0 kB

Percpu: 4672 kB

HardwareCorrupted: 0 kB

AnonHugePages: 657408 kB

ShmemHugePages: 569344 kB

ShmemPmdMapped: 0 kB

FileHugePages: 253952 kB

FilePmdMapped: 231424 kB

CmaTotal: 0 kB

CmaFree: 0 kB

Unaccepted: 0 kB

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2048 kB

Hugetlb: 0 kB

DirectMap4k: 234208 kB

DirectMap2M: 6803456 kB

DirectMap1G: 1048576 kB

temak
() автор топика
Ответ на: комментарий от krasnh

вернись на KDE neon, где у тебя все работало на отлично. )

за время пользования LTS релизами, я понял, что их «пользуйся флэтпаком и не выёбывайся» весьма ущербно, как и сама система, тем более, что манжаро основана на арче, который я уже щупал как есть вне виртуалки; но который я побоялся ставить в качестве системы для ноута. Может быть поставлю, если убежусь, что это не так. Не помню, чтобы арч зависал из-за оперативы. Хочется понять как настраивать вручную подкачку.

temak
() автор топика
Ответ на: комментарий от temak

«пользуйся флэтпаком и не выёбывайся» весьма ущербно

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

На ЛОРе время от времени поднимаются темы подобные этой, Существует ли дистрибутив без ада зависимостей? .

krasnh ★★★★
()

Блин, @Dimez, зачем ты мне своими правками ломаешь статистику использования этого диалектизма «поясните за» и усложняешь наблюдение за переходом оного из диалектизмов в интернет-сленг?…

CrX ★★★★★
()
Ответ на: комментарий от DumLemming

Я не видел дорогих клав с тремя дополнительными рядами чтобы от fn избавиться

Эт насколько он должна быть дорогой, что бы от клавиш начать избавляться? :)

anc ★★★★★
()
Ответ на: комментарий от anonymous

Zram не помогает: поведение подкачки не меняется. Насколько я понял у меня по умолчанию врублён MGLRU:

cat /sys/kernel/mm/lru_gen/enabled                                                                                    

0x0007

Узнаю о прелокд, напишу. vm.swappiness нерешающий в этом вопросе. Пока не единого совета с vfs_cache_pressure не видел.

swapon --show
                                                                                                                 
NAME           TYPE      SIZE   USED PRIO
/dev/zram0     partition   8G 964,8M  100
/dev/nvme0n1p3 partition  15G     0B   -2
temak
() автор топика
Последнее исправление: temak (всего исправлений: 1)
Ответ на: комментарий от annulen

Вот, нашёл в статье, решил тебе вывод скинуть заодно вместе с состоянием оперативы.

free

Вывод:

               total        used        free      shared  buff/cache   available
Mem:            7650        7187         342         232         728         462
Swap:          23551       11022       12529

swapon --show

Вывод:

NAME           TYPE      SIZE USED PRIO
/dev/zram0     partition   8G   8G  100
/dev/nvme0n1p3 partition  15G 2,9G   -2
temak
() автор топика
Последнее исправление: temak (всего исправлений: 1)
Ответ на: комментарий от temak

Ну тут дичь полная творится. zram0 занимает 8 гигов, то есть твою оперативка полностью занята свопом. А три гига, которые не влезли, записались на диск (nvme0n1p3), где приоритет ниже. Очевидно, что в таких условиях никакие приложения нормально работать не смогут.

annulen ★★★★★
()
Ответ на: комментарий от temak

Узнаю о прелокд

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

annulen ★★★★★
()
Ответ на: комментарий от temak

Ещё такой момент: если включен zswap, то zram не нужен. Вместо этого можно настраивать /sys/module/zswap/parameters/max_pool_percent — сколько процентов оперативки выделено под пул сжатых страниц (по сути, являющийся «свопом в оперативке», как zram)

annulen ★★★★★
()
Ответ на: комментарий от krasnh

«пользуйся флэтпаком и не выёбывайся»

А мне видится, что подобное очень прогрессивно

А вот и манжаро задумалось в том же направлении:

Разработчики дистрибутива Manjaro Linux, построенного на основе Arch Linux и ориентированного на начинающих пользователей, объявили о начале тестирования новой экспериментальной сборки «Manjaro Immutable», которая примечательна поставкой базовой системы в форме единого монолитного образа, монтируемого в режиме только для чтения и обновляемого целиком в атомарном режиме.

Программы предлагается устанавливать в виде пакетов в формате Flatpak.
Источник


Дополнение:

Immutable

Immutable-дистрибутивы, что это такое, и с чем это едят?

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Immutable

Я бы A/B сборками назвал, так понятнее.

Программы предлагается устанавливать в виде пакетов в формате Flatpak.

Зачем мне нужен A/B, если у меня есть Timeshift с daily btrfs снимками?

temak
() автор топика
Ответ на: комментарий от temak

Зачем мне нужен A/B

Это совершенно другой подход к организации рабочего места юзера средствами Linux. Не требующий особых навыков и знаний в обслуживании системы.

Писал в соседней теме про Endless OS, как родоначальника Immutable-дистров:

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

Да и вообще, «неубиваемость» системы - полезное качество для многих юзеров


Имхо, если бы весь ЛОР пересел на подобные дистры, его бы пришлось закрыть за ненадобностью. )

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Это совершенно другой подход

Не требующий особых навыков и знаний

ЛОР

закрыть за ненадобностью

Ну, так если у меня система не запуститься, я просто выберу последний снимок системы из соответствующего раздела, перед загрузкой системы. В манжаро, по крайней мере, так. Сделали б так: если у пользователя система завершается не правильно или есть ошибка какая-то, тогда его будет встречать экран с предложением восстановиться. Примерно такой как в винде. Сделать, это тоже просто, но места сбережёт на накопителе больше, ибо btrfs снимки весь системный раздел не копируют, а только лишь нужные изменения, которые мы можем мигом отменить. Я так понимаю. Использование flatpak и A/B (резеврного системного раздела) сделает систему предельно раздутой. Разве, это выгодно хоть для кого-то кроме производителей?

temak
() автор топика
Ответ на: комментарий от krasnh

увеличение по fps есть, но после недолгой игры кадры проседают до умопомрачительных ~10 fps. Причём игра замедлилась, а система нет.

Как только зависла, в терминале ввёл free -h:

               total        used        free      shared  buff/cache   available
Mem:           7,5Gi       7,1Gi       326Mi       1,4Gi       1,9Gi       368Mi
Swap:           22Gi       3,3Gi        19Gi

Причём игра замедлилась, а система нет.

Это уже признак тротлинга. Проверил, да. Время менять термопасту!

temak
() автор топика
Последнее исправление: temak (всего исправлений: 1)