Вот на глаза попался проект Compcache.
Суть проекта:
Создать SWAP раздел в ОЗУ с сжатием.
Как утверждают разработчики, проект создан для старых ПК и встраиваемых устройств с ограниченным объёмом ОЗУ. (Пользователям Eee PC с 512 ОЗУ на заметку)
В последних версиях Ubuntu это уже активно используется.
Ну что же, для ознакомления я решил поставить модуль Compcache на свой ПК: ОС Gentoo, kernel 2.6.28, ОЗУ 2Гб
Приступим:
cd /tmp
wget http://compcache.googlecode.com/files/compcache-0.5.1.tar.gz
tar xvfz compcache-0.5.1.tar.gz
cd compcache-0.5.1
make
Всё, можно работать.
Использование:
В папке присутствует скрипт use_compcache.sh
Его следует использовать так:
./use_compcache.sh размер_ОЗУ_в_Кб
По умолчанию забирается 25% от текущего ОЗУ
Для отключения есть скрипт unuse_compcache.sh
Мне пришлось в Gentoo поправить скрипт use_compcache.sh, иначе он ругался:
insmod: error inserting ‘lzo1x_compress.ko’: -1 Invalid module format
insmod: error inserting ‘lzo1x_decompress.ko’: -1 Invalid module format
проверив командами:
modprobe -q lzo_compress
modprobe -q lzo_decompress
Я убедился что модули присутствуют в системе, поэтому поправил скрипт:
Заменил
$MODPROBE_BIN -q lzo_compress || INSMOD lzo1x_compress
$MODPROBE_BIN -q lzo_decompress || INSMOD lzo1x_decompress
На
$MODPROBE_BIN -q lzo_compress
$MODPROBE_BIN -q lzo_decompress
Затем выключил SWAP раздел с помощью команды:
swapoff /dev/имя_swap_раздела
И выполнил скрипт use_compcache.sh от root’a
sudo -i
./use_compcache.sh
Получил ответ:
compcache size not given. Using default (25% of RAM).
Setting compcache size to ~496 MB …
Loading modules …
Setting up swap device …
Done!
Ввёл команду free -m и убедился что всё работает.
Для моего домашнего ПК с 2 Gb ОЗУ вряд-ли понадобится, да и своём Eee PC 701 я память до 2 Gb увеличил, но идея очень интересная.
UPD:
Производительность можно глянуть ТУТ.