Сайт | Скачать | Видео | Wiki

Автор Тема: Ядро: uksm zram  (Прочитано 1397 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 24083
  • Репутация: +173/-0
    • PuppyRus-A
Ядро: uksm zram
« : 05 Июнь 2014, 10:38:37 »
В ядре 3.14.4 от Pro есть оба модуля
http://habrahabr.ru/post/143083/
http://habrahabr.ru/post/172137/ http://archlinux.org.ru/forum/topic/11291/
uksm мониторится в трее. Чудес экономии не наблюдал, но и не мешает

zram
modprobe zram num_devices=2 - отработал, но /dev/zram1 не создал
modinfo zram - модуль не обнаружен
SIZE=1536 ;echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize - отработал. На /dev/zram0 можно создать swap или файловую систему

Обхожусь без swap вообще
Поделитесь своими впечатлениями. Нужны ли эти модуле в нашем ядре? Если убрать - будет лучше?
« Последнее редактирование: 05 Июнь 2014, 10:42:17 от sfs »

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Swap файлом
« Ответ #1 : 15 Декабрь 2018, 04:08:04 »
Вопрос - надо ли это кому-нибудь?
Прошу помощи. Создал pfs модуль для автомонтирования zram. Файлы создаёт, но в /etc/fstab и /sys/block/zram0/disksize он не пишет, либо изменения перетираются во время дальнейшей загрузки. Посмотрите пожалуйста,что не так?

Команды брал тут:https://wiki.archlinux.org/index.php/Improving_performance#Zram_or_zswap
Хочу понять, какой код/файлы куда расставлять, и научиться глядя на подобный код из Wiki-справочника делать свои модули-pfs.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 1508
  • Репутация: +16/-0
    • Беседка магос
Re: Re: Swap файлом
« Ответ #2 : 15 Декабрь 2018, 06:59:22 »
Если  initrd не принципиален попробуйте uird. Там с подключением свопа куча вариантов.
uird.swap=auto (если найдет своп раздел то подключит его + zswap если раздела нет то  zram-swap)
uird.swap=/dev/sda1
uurd.swap=file.swap (найти файл и подключить)
uird.swap=zram
uird.swap=zram::70::lz4 ( алгоритм сжатия и размер в процентах от  RAM)
можно и несколько
uird.swap=/dev/sda1;zram;myswap.swp
Если не хотите сам  uird  посмотрите функции 
init_swap, init_zram_swap в либе livekitlib в uird.
https://github.com/neobht/uird/blob/master/modules.d/00uird/livekit/livekitlib
« Последнее редактирование: 15 Декабрь 2018, 10:57:21 от betcher »
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Re: Swap файлом
« Ответ #3 : 15 Декабрь 2018, 16:38:42 »
Если  initrd не принципиален попробуйте uird.
Спасибо за вариант! Мои знания фрагментарны. Могу понимать С-код, несколько Bash. Сейчас пытаюсь понять как можно 1) автозапуском/автоконфигурированием выделить в RAM место при одновременном сжатии, т.е наверное это функция или команда или методика - zram.По приведённой мною выше ссылке, вручную получилось выделить zram. По крайней мере Htop->swp показывает столько сколько просил.  Для меня конфигурирование системы это новое. Т.е пока не знаю где должны быть по канонам управляющие скрипты/параметры.
Initrd и uird так же новое. Может я и попробую их, но куда  это прописывать пока не знаю. По сему и не знаю принципиально ли initrd или нет.
2) Выделить swap в zram и оформить это через самостоятельную сборку pfs, чтобы понимать, как можно собрать систему из модулей-pfs.
« Последнее редактирование: 15 Декабрь 2018, 19:50:28 от Poisk »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +42/-0
Re: Re: Swap файлом
« Ответ #4 : 15 Декабрь 2018, 16:49:38 »
Команды брал тут:https://wiki.archlinux.org/index.php/Improving_performance#Zram_or_zswap
По этой ссылке предложены два пакета со скриптами включения zram (systemd-swap и zramswap). Ничего придумывать не надо. Если PRA с systemd, то включить службу и перезагрузиться. Если c minirc, то ... не знаю. :)

 По systemd-swap некоторая инфа здесь http://forum.puppyrus.org/index.php?topic=21038.msg149139#msg149139

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Re: Swap файлом
« Ответ #5 : 15 Декабрь 2018, 18:49:46 »
Ничего придумывать не надо.
Вот этот код я расположил по указанным в тексте каталогам и файлам и запаковал в pfs. И судя по суффиксам каталогов ".d" код как раз и является реализацией средствами systemd.:
/etc/modules-load.d/zram.conf

zram

Configure the number of /dev/zram nodes you need.

/etc/modprobe.d/zram.conf

options zram num_devices=2

Create the udev rule as shown in the example.

/etc/udev/rules.d/99-zram.rules

KERNEL=="zram0", ATTR{disksize}="512M" RUN="/usr/bin/mkswap /dev/zram0", TAG+="systemd"
KERNEL=="zram1", ATTR{disksize}="512M" RUN="/usr/bin/mkswap /dev/zram1", TAG+="systemd"

Add /dev/zram to your fstab.

/etc/fstab

/dev/zram0 none swap defaults 0 0
/dev/zram1 none swap defaults 0 0

Но не все файлы после перезагрузки дописываются или перезаписываются(должны они перезаписываться или дополнятся не знаю. только приобретаю опыт). pfs находится в каталоге base. Что не так - не знаю.

Если PRA с systemd
Как узнать? По умолчанию в PRA1612-middle systemd работает? А если и работает, то влияет ли на возможность записи в файл,например в /etc/fstab и /sys/block/zram0/disksize?
« Последнее редактирование: 15 Декабрь 2018, 19:03:55 от Poisk »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +42/-0
Re: Re: Swap файлом
« Ответ #6 : 15 Декабрь 2018, 19:50:16 »
По умолчанию в PRA1612-middle systemd работает?
Цитировать
$ systemctl --version                                           
systemd 239
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid

влияет ли на возможность записи в файл,например в /etc/fstab
Цитировать
$ cat /etc/fstab
# При использовании porteus-initrd (initrd.xz)
# Не редактируйте этот файл так как fstab пересоздается автоматически во время каждой загрузки.

 Скачать пакет https://aur.archlinux.org/packages/zramswap/
Использовать zramctrl в качестве примера для собственного скрипта. Или дефолтный автозагружать каким-то способом (если нет systemd).

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Re: Swap файлом
« Ответ #7 : 15 Декабрь 2018, 20:21:37 »
$ systemctl --version   
У меня:
$ systemctl --version
bash: systemctl: команда не найдена
Значит отсутствует.

$ cat /etc/fstab
# При использовании porteus-initrd (initrd.xz)
# Не редактируйте этот файл так как fstab пересоздается автоматически во время каждой загрузки.
Понятно.
Т.е если отсутствует systemd,  то работает initrd. И в командной строке сработал код посредством initrd.
Тогда в какой файл и по какому пути будет верно разместить этот код-подключения zram, чтобы упаковать в pfs?
# modprobe zram
# echo lz4 > /sys/block/zram0/comp_algorithm
# echo 32G > /sys/block/zram0/disksize
# mkswap --label zram0 /dev/zram0
# swapon --priority 100 /dev/zram0

« Последнее редактирование: 15 Декабрь 2018, 20:37:00 от Poisk »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +42/-0
Re: Re: Swap файлом
« Ответ #8 : 15 Декабрь 2018, 20:33:07 »
Скачать пакет
Если сложно с AUR.
Скопировать скрипт https://aur.archlinux.org/cgit/aur.git/tree/zramctrl?h=zramswap
Сделать исполняемым и пробовать запустить.

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Re: Swap файлом
« Ответ #9 : 15 Декабрь 2018, 20:54:49 »
...и пробовать запустить.
Становится яснее. Посмотрел приведённый Вами скрипт и пришёл к выводу, что это почти тот же код, только с многочисленными проверками. Но и Bash-код и C-код необходимо где-то размещать для автостарта. По Вашей сслыке в заголовке кода указано:"path: root/zramctrl" Это рекомендуемое место? А имя скрипта имеет значение?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +42/-0
Re: Re: Swap файлом
« Ответ #10 : 15 Декабрь 2018, 21:21:27 »
Это рекомендуемое место?
Нет, это часть aur пакета zramswap-2-1-any:
Цитировать
$ find .
.
./usr
./usr/lib
./usr/lib/systemd
./usr/lib/systemd/scripts
./usr/lib/systemd/scripts/zramctrl
./usr/lib/systemd/system
./usr/lib/systemd/system/zramswap.service

И запускается через systemd:
sudo systemctl enable zramswap.service sudo systemctl start zramswap.service

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 24083
  • Репутация: +173/-0
    • PuppyRus-A
Re: Ядро: uksm zram
« Ответ #11 : 15 Декабрь 2018, 22:51:11 »
перенес, объединил
bash: systemctl: команда не найдена
вики
« Последнее редактирование: 15 Декабрь 2018, 22:55:34 от sfs »

Оффлайн Poisk

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +1/-0
Re: Ядро: uksm zram
« Ответ #12 : Вчера в 00:27:43 »
И запускается через systemd:
А если systemd, тогда вижу противоречие: для Archlinux добавление кода в /etc/fstab приемлемая практика, а в PRA: (# Не редактируйте этот файл так как fstab пересоздается автоматически во время каждой загрузки.). Какой вариант типичный для Linux-OS, запрет или разрешение? И дополнять /etc/fstab не следует не только руками, но и опосредовано через скрипты автозагрузки? Т.е функционал sftab не следует расширять или ещё что? Не понятно. 
« Последнее редактирование: Вчера в 00:29:45 от Poisk »

Оффлайн DdShurick

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6392
  • Репутация: +162/-0
  • Старый чайник
Re: Ядро: uksm zram
« Ответ #13 : Вчера в 07:56:25 »
а в PRA: (# Не редактируйте этот файл
В PRA /etc/fstab создаётся заново при каждой загрузке скриптом linuxrc (строки 56 -93) и не являются запретом на редактирование, а всего лишь предупреждением, что файл будет переписан с нуля при перезагрузке.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)