Мар 132013
 

Вечер добрый.
Решил попробовать zram на одном из серверов gentoo linux, что могу сказать пока спокойно.
Уменя иногда система уходит в своп, уж больно тяжелые запросы есть, от них пока что не куда не дется.
Прогеру думают, я пока решил временно использовать zram, конечно лучшим вариантом производительности был-бы хороший ssd. Пока этот вариант попробую авось и прокатит.

zRam это экспериментальный модуль ядра Linux (ранее известный как «compcache»). Он увеличивает производительность путем предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жестком диске. Скорость обмена с оперативной памятью быстрее, чем с жестким диском, следовательно zRam позволяет Linux производить большее число операций подкачки, особенно на старых компьютерах с малым объемом оперативной памяти.

wikipedia zram
Серьезных проблем при реализации zram не возникло.
Опишу установку.
Для начало мне нужно было уставновить пакет layman, типа альтернативное дерево пакетов.

# emerge layman -av

Теперь добавим репозитарий где хранится пакет zram-init.

# layman -a mv # mv -это сам репозитарий.

Теперь обновим только что добавленный репозитарий.

# layman -s mv

После

# emerge zram-init -av

Но у меня почему-то не вышло, пишет нету пакета, решил разобраться в чем проблема.
Полез на сайт репозитория mv, ебилд лежит в директории sys-block/zram-init.
Открыв просмотр ебилда и у видел, что ссылки ведут на гитхаб, по шел по ссылки и что-же обнаружил!
На гитxабе лежит архив zip а не tar.gz.
Скачал архив, распаковал его, и просто разнес нужные вайлы по нужным диретокриям.
Вот сам ебилд, в нем.

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5
RESTRICT="mirror"
inherit eutils vcs-snapshot

DESCRIPTION="Scripts to support compressed swap devices or ramdisks with zram"
HOMEPAGE="https://github.com/vaeth/zram-init/"
SRC_URI="http://github.com/vaeth/${PN}/tarball/release-${PV} -> ${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="zsh-completion"

src_prepare() {
	epatch_user
}

src_install() {
	dosbin sbin/*
	doinitd openrc/init.d/*
	doconfd openrc/conf.d/*
	if use zsh-completion
	then	insinto /usr/share/zsh/site-functions
		doins zsh/*
	fi
}

pkg_postinst() {
	elog
	elog "To use zram, activate it in your kernel and add it to default runlevel:"
	elog "rc-config add zram default"
	elog
}

Файлы кидаем в эти директории.

/etc/conf.d/zram-init
/etc/init.d/zram-init
/sbin/zram-init
/usr/sbin/zram-init

Так же если в ядре нету поддержке блочных устройств то добавим их.

# cd /usr/src/linux && make menuconfig
Device Drivers --->
    [*] Staging drivers  --->
           < M >   Compressed RAM block device support
           [ ]     Compressed RAM block device debug support
           < * >   Memory allocator for compressed pages

После пересобирем ядро.

# make && make install && make modules_install
Вот что у меня получилось.
# zgrep ZRAM /proc/config.gz 
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set

Ну и теперь осталось внести некоторые изменения.

# cat /etc/conf.d/zram-init | grep -v "#"
load_on_start="yes"
unload_on_stop="yes"
num_devices="2"

type0="swap"
flag0="16383"
size0="800"

type1="swap"
flag1="16383"
size1="800"

type2="/tmp"
flag2="ext3"
size2="600"

Видно в конфигурационном файле, что я создал два блочных устройства под swap и одно под tmp.
После внесения изменений, стратуем вервис.

# /etc/init.d/zram-init start

Вот что мы видим.

# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda6                               partition       4449024 0       -1
/dev/zram0                              partition       819196  1416    16383
/dev/zram1                              partition       819196  1420    16383

Вот и все.

  One Response to “gentoo zram”

  1. Спасибо…бум пробовать)))

 Leave a Reply

(required)

(required)

41 Запросов к базе. 0,338 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.163.20.57