LINUX.ORG.RU

Сообщения Bfgeshka

 

Как закалялся шакал: а где можно download more ram?

Статьи — Администрирование

Вступление

Данная статья написана с целью концентрации знаний о сжатии данных оперативной памяти.

Я использую gentoo, поэтому имена пакетов будут приводиться в формате этого дистрибутива.

Подразумевается, что читающий имеет желание и возможность (одно из):

  • произвести конфигурацию и/или сборку ядра;
  • в случае отсутствия искомой функциональности в «ванильном» - найти и использовать ядро, в котором уже всё есть.

zram

zram это, если описать попроще, tmpfs со сжатием.

Необходимо включить zram в ядре: CONFIG_ZRAM=m (или =y, но настоятельно рекомендуется загружать как модуль), либо в menuconfig:

Device Drivers  --->
[*] Block devices  --->
<M>   Compressed RAM block device support

Также стоит обратить внимание на другие доступные опции конфигурации, например - метод компрессии ZRAM_BACKEND_XXX.

Важно заметить, что zram может использоваться как простое блочное устройство и как приоритетный своп, аналогично zswap (см. ниже). В случае последнего необходимо собирать модуль с опцией CONFIG_ZRAM_WRITEBACK, которая позволяет отгружать данные из zram-девайса на ФС.

Наличие zram можно проверить по наличию модуля zram (только если zram собран модулем) или существованию /dev/zramX (если модуль загружен или zram вшит в ядро).

Утилита zramctl входит в состав sys-apps/util-linux (которая, скорее всего, уже стоит в системе), с её помощью можно создать юзабельный zram диск. Описание утилиты можно прочитать на man 8 zramctl.

Одновременно может существовать несколько устройств zram, каждое со своей собственной конфигурацией (объём, путь, права, writeback итд). Для zram есть вспомогательные проекты, например sys-apps/zram-generator и sys-block/zram-init, которые упрощают конфигурацию функциональности, но использовать их не является строгой необходимостью.

Ряд полезных инструкций можно найти тут: арчвики, гентувики.

zswap

zswap представляет из себя прослойку между RAM и swap: вместо простой выгрузки неактивных страниц в своп, сначала они подвергаются компрессии и помещаются в отдельное виртуальное хранилище в оперативной памяти; затем данные страницы выгружаются в своп при нехватке RAM или заполнении данного хранилища и при выгрузке производится декомпрессия.

Необходимо включить zswap в ядре: CONFIG_ZSWAP=y, либо в menuconfig:

Memory Management options  --->
[*] Support for paging of anonymous memory (swap)  --->
[*]   Compressed cache for swap pages

Также стоит обратить внимание на другие доступные опции конфигурации, например - выбрать дефолтные метод компрессии CONFIG_ZSWAP_COMPRESSOR_DEFAULT_XXX и аллокатор CONFIG_ZSWAP_ZPOOL_DEFAULT_XXX.

Проверить сессию на наличие zswap можно несколькими способами:

  1. # dmesg | grep zswap

  2. $ grep -r . /sys/module/zswap/parameters/

Настройку параметров можно производить либо в рантайме (через манипуляцию параметров в /sys/module/zswap/parameters/max_pool_percent), либо в параметрах загрузки ядра. Доступные параметры и их расшифровка описаны здесь: https://docs.kernel.org/admin-guide/mm/zswap.html

Если используешь не очень старую версию htop, то там эта память будет учитываться в общих графах compressed и frontswap.

Если используются одновременно zswap и zram (конкректно для swap), то лучше выбрать что-то одно, особенно при использовании ZRAM_WRITEBACK.

KSM

Kernel Samepage Merging - технология дедупликации одинаковых страниц памяти. Не является непосредственно сжатием, но позволяет получить больше свободной RAM, так что пусть тут будет.

На ядро должен быть наложен патч UKSM.

Необходимо включить KSM в ядре: CONFIG_KSM=y, либо в menuconfig:

Memory Management options  --->
[*] Enable KSM for page merging

Проверить сессию на присутствие и работоспособность KSM можно через проверку в /sys, например:

$ grep -r . /sys/kernel/mm/ksm

Если ядро настроено корректно, то каталог /sys/kernel/mm/ksm должен существовать и значение /sys/kernel/mm/ksm/run быть «1».

Слияние памяти происходит только для процессов, помеченных madvise(). Так как ручками мы делать это не будем, далее стоит установить sys-process/uksmd. Данный демон работает в фоне и производит инициализацию слияния автоматически, достаточно закрепить его в системе как сервис.

Послесловие

Надеюсь, что тебе понравилось читать эту статью настолько же, насколько мне нравилось её писать.

Предложения/исправления/дополнения приветствуются.

Форумчанин @kirill_rrr произвёл бенчмарк разных наборов конфигураций zram, swap и zswap в 2023.

 , , ,

Bfgeshka
()

Перекрытие в трекере текста на некоторых масштабах

Форум — Linux-org-ru

Сабж заметил в частности для секции Администрирование на масштабах от 95% и выше (до переключения на трёхстрочное оформление). Хз, заметил ли кто, ну вот - поднимаю пыль.

https://0x0.st/Xn_C.png

 ,

Bfgeshka
()

Домашний сервер общего назначения

Форум — Linux-hardware

День добрый! Хочу собрать домашний сервер, но тяжело выбрать железо. Думаю брать на ozon, т.к. на месте выбор маленький.

Хотелки вот такие:

  • Графика «лишь бы была» иногда воткнуть монитор.

  • Если mini/micro-atx, то желательно 6+ SATA портов, для форм-факторов меньше хотя бы 4.

  • Работать будет круглосуточно, энергоэффективность предпочтительнее производительности.

  • Сеть гигабит достаточно.

  • Если сможет жить на пассивном охлаждении, то вообще шикарно, но это не обязательно.

Думал мб взять готовый NAS, но цены даже без дисков абсолютно невменяемые.

Дополнительно, x86 даже не обязательно.

Ставить туда буду линуксы (скорее всего опять гента).

 ,

Bfgeshka
()

Велосипед для синхронизации файла с облаком

Форум — Development

Здрастия!

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

Решил, что пора делать бэкапы через облака. Благо, что у баз keepass можно читать открытый файл и даже перезаписывать - и он подхватится автоматом! Выбор остановился на MEGA как на наиболее резонном сервисе. На оффтопике накатил официальное приложение и настроил sync, на андроиде и вручную нормально. А на домашнем онтопике хотелось чистенько и красиво, да и автоматом бэкапы хотелось бы сделать.

Ближе к делу - решил сделать простенький велосипед, который бы умно синкал базу в обе стороны, делал бэкапы и работал без демонов (ну, кроме крона). И зделол!

Нужно только иметь megacmd с настроенным megarc конфигом в системе, а остальные утилиты всегда есть. Вот сам скриптец: https://notabug.org/bfgeshka/apps/src/master/ishell/megasync.sh

 , , ,

Bfgeshka
()

Клавиатуры сошли с ума

Форум — Linux-hardware

День добрый!

У меня тут случилась любопытная проблема: не все клавиши на клавиатуре работают. Точнее - клавиатурах. И все разные. Например, на одной клавиатуре из стрелок будет работать только «вниз», на другой половина букв не работает итд. Что интересно - я так понимаю, что рабочий набор клавиш свой на каждой клавиатуре и персистентный между перезагрузками. Пробовал разные клавиатуры отдельно и вместе. и в разные порты, включая на матери и на подключённом внешнем usb-контроллере.

Проблема хардварная, достаёт от загрузки биоса и продолжается в оси.

USB мыщъх работает, остальные типы устройств хз.

Я так понимаю, это мать всё?

 ,

Bfgeshka
()

Хидер

Форум — Talks

Откуда появилась эта дебильная мода произносить слово header таким образом? Пользуется им не большинство, но долгое время регулярно можно встретить употребление слова «хидеры» тут и там.

Почему так получилось? Никакой интуитивности в этом нет, ведь никто не произносит head как «хид».

 

Bfgeshka
()

libdrm собирает x86 версию как amd64

Форум — Desktop

В /usr/lib32 для libdrm находятся абсолютно те же файлы, что и в /usr/lib64.

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

~/ file /usr/lib32/libdrm.so.2.4.0
/usr/lib32/libdrm.so.2.4.0: ELF 64-bit LSB pie executable x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped
~/ openssl md5 /usr/lib32/libdrm.so.2.4.0
MD5(/usr/lib32/libdrm.so.2.4.0)= c27a5d2190bfb084f0f511cf677c0921
~/ openssl md5 /usr/lib64/libdrm.so.2.4.0
MD5(/usr/lib64/libdrm.so.2.4.0)= c27a5d2190bfb084f0f511cf677c0921

 , ,

Bfgeshka
()

W3C стандартизирует DRM

Форум — Talks

!Ъ:

https://boingboing.net/2017/09/18/antifeatures-for-all.html

https://www.w3.org/2017/09/pressrelease-eme-recommendation.html.en

Ъ: В заголовке. Многие в самом W3C негодуют. Теперь для всего drm есть один стандарт и его себе накатывать сможет каждая сволота без особого труда.

 , ,

Bfgeshka
()

Где лучше всего вести бложег

Форум — Talks

Вот бложек есть у меня на wp. Вроде бы норм всё, но вести его дико лень и на той платформе как-то не прёт. Хотя, казалось бы - вордпресс старается не отставать от современных тенденций в вебе, есть статы и всякие ништяки в админке блога - всё равно последние года три туда писать не тянет.

Вроде бы на гитхабе можно хостить с хорошими инструментами и свободой действий, но как-то и не опробовал толком.

А где ведёт бложег лоровец? Ведь в целом технический блог может быть интересным, но не хочется, чтобы он был в тягость. По этой же причине неохота хостить у себя или на съёмке.

UPD: Посмотрел, чего мне насоветовали. Местами довольно неплохие предложения зацепили внимание и я оценил их подобным образом:

  • WP. На нём раньше сидел. Инструментов для персонального блога достаточно, но есть ограничения на расширение их круга. Никакого кастомного интерфейса нахаляву, будь добр выбирать из предоставленных (довольно убогоньких, ИМХО) дефолтных тем. Интерфейс толстый, страница тянет много чего и отовсюду.
  • Github pages. Делай что хошь, но статикой. Вроде бы можно прикрутить комменты и всё такое, если захотеть. Хостинг на гитхабе, поэтому можно видеть просмотры и траффик. Вместо фолловеров есть Star и Watch на репозитории, так что сойдёт. Есть куча всего готового, тот же джекилл. Есть рекоммендации для лимитов, что нашёл это 100k реквестов или 100GiB в месяц, 1GiB на размер репы - для обычного бложега это выше крыши. При превышении не банят, а присылают письмо с вопросом, не треснет ли харя. Причём хостить всякое можно на cdn.
  • Facebook/Vk/Twitter. Имеет смысл если уже есть кодеры повязанные в социалочке, в большом количестве. Никто в поисках решения не будет смотреть там, да и выдача старых постов с таких сервисов маловероятна, поэтому смысла писать туда не особо много.
  • Heroku. Очень хипстерно. Плагины платные. По своей сути очень абстрактная обёртка над чем нибудь. Не понравилось, что самый адекватный язык из предложенных это Scala. Для чего сие предназначено - непонятно, чего оно может - неясно, где его используют на практике - ума не приложу. Квинтэссенция облака.
  • blogger. Почти полностью см. wp. Халявный гуглосервис, а значит вероятность закрытия выше, чем у двери перед носом торгового представителя с новой моделью пылесоса.
  • Medium. См. wp, только ещё хлеще. Болеет желтухой.
  • ZeroNet. Идея самой платформы интересна, но не считаю её подходящим вариантом для моей цели. Такое хорошо бы использовать для чего-то типа wikileaks.
  • diary.ru, lj. Устарело (не путать с просто старым). Для it оно так себе.
  • golos.io. Платформа для раскрутки самой себя, переполнена всякой фигнёй и писать туда никакого резона не вижу.

 , , ,

Bfgeshka
()

Перекат на систему с UEFI

Форум — Linux-install

Есть новая мать с обвесами и старый ноутбук. На ноутбуке стоит обжитая гента с загрузкой через BIOS. Места на дисках для нового раздела не отвести.

Есть идея для загрузки использовать флешку - создать таблицу gpt, загрузочный раздел, поставить туда граб и скопировать ядра из системного /boot (который, к слову, не отдельным разделом).

Имеет ли план право на существование, есть ли истории успеха? Пытался просто вкорячить legacy boot, но загрузчик оно не видит на диске.

 , ,

Bfgeshka
()

Чем бы тегать opus?

Форум — Multimedia

В частности хочется добавлять/менять кастомные теги, а не только из списка доступных.

 ,

Bfgeshka
()

Предложение

Форум — Linux-org-ru

А как идея показывать в фиде пользователя флажок решённого вопроса, если таковой имеет место быть?

 

Bfgeshka
()

low-end тонкие клиенты

Форум — Admin

Чего бы накатить и как обслуживать очень слабые тонкие клиенты?

Бездисковые, загрузка по pxe. Проблема - 64MiB оперативной памяти. Используются для вебни.

 ,

Bfgeshka
()

Fallout 2 с модами

Форум — Games

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

Где-то патчи не проходят, где-то игра после сплешскрина мрёт. Так понимаю, что часть проблем из-за файловой системы - ntfs вообще болт кладёт на различие файлов с разными регистрами, а тут вам не винда и директории ./data и ./Data ведут в разные места.

Кто-нибудь расскажет истории успеха? Для справки: вайн свежий 1.9.что-то-там, f2 последний с gog (2.1.0.17), пробовал крупные моды вроде resurrection, mib88 megamod и restoration project.

Ванильная игра работает без проблем.

 , fallout 2,

Bfgeshka
()

Цветовая схема paints

Галерея — Скриншоты

Конфиги; скриптцы.

  • С прошлого раза перекрасил тут всё. В dvtm попробовал использовать статусную строку, вывожу туда всякий маловажный текст навроде фортунок. Софтины, выплёвывающие в панели выхлоп, работают исправно.
  • Приделал к скрипту notify-send голосовой синтез через espeak. Если отфильтровать проговаривание всяких путей и мусора, то довольно забавно звучит.
  • Pale Moon v27 обещал быть довольно решительным и выкручивающим руки релизом из-за потери совместимости с jetpack-аддонами (вроде бы с ними, деталей не помню) и некоторыми изменениями в архитектуре. Однако, почти все аддоны работают, а я использую их десятками. Для компиляции нужно было меньше времени и почти вдвое меньше места, это довольно любопытный скачок между релизами. Негативных изменений за пару дней работы после обновления не заметил.
  • Шрифты в панелях и терминале tewi, в GUI - убунтушные. Цвета использовал из какой-то терминальной темы под названием paints.
  • Обоина - три минуты в гимпе.

 ,

Bfgeshka
()

Удаление файла через mpv

Форум — Multimedia

Хочется иметь возможность удалять, а лучше - выполнять команду над текущим файлом (перемещение в заранее указанный путь или ещё чего).

Полагаю, решение вполне возможно в lua. Быть может, что у кого-то есть скрипт (или желание его наваять на коленке, если тоже интересна такая возможность).

 

Bfgeshka
()

Печать по правому краю в терминале

Форум — Development

Вот такое интересует. Наверняка можно, но как - ума не приложу.

Необходимости нет, но очень хочется писать аккуратные статусные сообщения напротив строк, например [OK], [ERR] и так далее. Вдохновляюсь выводом в инитах.

 

Bfgeshka
()

gentoo uclibc

Форум — Linux-install

Как работает тот stage3? Можно ли безбедно жить?

 ,

Bfgeshka
()

Нерепрезентативный заголовок

Галерея — Скриншоты

Мало кому не пофик, но давно ничего не выкладывал - прошлая кастомизация почти полгода продержалась.

( читать дальше... )

 , ,

Bfgeshka
()

Интерактивные системы обучения

Форум — Talks

А какие есть наиболее интересные и увлекательные? Что-то в духе duolingo и codecademy.

 

Bfgeshka
()

RSS подписка на новые темы