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
()
Ответ на: комментарий от antech

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

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

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

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

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

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

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

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

О, нашёл вот. Включил lru_gen в купе с zram и earlyoom. Как проверить, что есть какой-то эффект? tail /dev/zero отправил всё в своп, но система вроде не подвисла.

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

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

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

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

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

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

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

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

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

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

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

Своп нужен всегда. Можно не на диске, но он должен быть.

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

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

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

прелокд — нет. mglru прямо сейчас включен. Дебиан, ядро 6.6. Результат мне нравится. Система не становиться колом при исчерпании памяти

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

Ну я к тому, что некоторые процессы важно просто не выгружать из ОЗУ никогда.
Удивительно, что это заняло под 30 лет на декстопе.

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

Если текущая RAM не задублирована в swap, (низкое значение swapiness), всё встаёт колом. Если высокое - всё быстро и легко.

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

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

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

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

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



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

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

у кого-то еще /sys/kernel/mm/lru_gen/enabled равен 0x0000

В каком дистрибутиве? У меня в 12 дебиане по-умолчанию 0x0007.

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

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

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

Смысл от свопа, если оперативки с запасом?

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

Каким образом связаны оверкоммит и своп?

u5er ★★★
()
Ответ на: комментарий от 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
() автор топика
Ответ на: комментарий от temak

Хочется сказать, брось «каку» (я про manjaro) и вернись на KDE neon, где у тебя все работало на отлично. )

Но так ведь нельзя говорить, «пионер ЛОР - всем ребятам пример».

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

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

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

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

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

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

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

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

У вас одного кэша на 2Гб, так что память ещё есть.

anc ★★★★★
()

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

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

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

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

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

Прибыла в Одессу банда из Амура,
В банде были урки, шулера.
Банда занималась темными делами,
И за ней следила Губчека…

krasnh ★★★★★
()
Ответ на: комментарий от 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)
Ответ на: комментарий от temak

Время менять термопасту!

🙂

Т.е. manjaro не причем, а его и так ругают по чем зря.

krasnh ★★★★★
()
16 апреля 2025 г.
Ответ на: комментарий от krasnh

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

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


Уже. Недолгий путь от тестов к альфа-релизу. Альфа-выпуск атомарной редакции Manjaro Summit 15.04.2025

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

В качестве файловой системы задействована Btrfs. Обновление производится через загрузку нового системного образа в отдельный подраздел (subvolume) Btrfs и переключение на него во время загрузки. В случае проблем предусмотрена возможность отката на прошлое состояние (при сбое в процессе загрузки нового образа подобный откат производится автоматически при помощи systemd-bless-boot).

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

Программы также можно устанавливать в виде отдельных от системы слоёв, например, для установки Firefox можно выполнить «arkdep layer firefox».

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

Я бы не был так уж категоричен.

С одной стороны разрабы Манжаро и дядя Габен постоянно друг тягают друг у дружки вкусняшки, а Манька по сути и так обновляется атомарно.

Но как раз таки на ней, без богомерзких fatpuk-уродцев можно жить и не тужить.

Так что, скорей всего постигнет эту затею судьба manjaro architect.

hargard ★★★
()
Последнее исправление: hargard (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.