Pages

суббота, 16 апреля 2011 г.

Ram-disk и lenny-вый дебиан


Интересное настало время в области it-технологий. Компьютерное железо развивается не по дням, а по часам: новая память, новые процессоры, новые шины... Растут в железе герцы с мегабайтами, и современный бюджетный комп заткнёт за пояс высокопроизводительный сервак 5-й давности.

Если Windows и ПО к ней стараются не отставать темпов роста производительности железок (когда-то фотошоп прекрасно работал на 400-ом с копейками селероне, а сейчас в Win7 1Gb Ram - это уже мало...), то линуксы (федора, дебиан и т.д.) в домашних и мелкоофисных условиях не особенно напрягают компьютер, и системные ресурсы простаивают.
Читать дальше...

В качестве примера: одна из моих рабочих станций с параметрами - Athlon 2800+ и 2Gb Ram. В качестве ОС установлен Debian Lenny, который после перезагрузки ест ~160мб из оп.памяти, остальной расход приходится на работу программ, но в целом за приделы 1gb так и не удалось выйти. В этом большой плюс Linux - мне не нужен новый компьютер, чтобы использовать новое ПО.

Но OpenSource (на данном примере Debian Lenny + Gnome) кроме очевидных плюсов, имеет и недостатки, которые следует шлифовать, прибегая к народной медицине и собственной еврейской-украинской смекалке.
Думаю, у каждого линуксоида линукс-мастера есть в запасе собственные наработки.

Ну так вот... Чем можно раскачать Debian? В принципе, по умолчанию он работает довольно неплохо, а использование prelink и preload показывает хорошие результаты. Ещё какой-то маленький процент в копилку perfomance дают создание пустой папки ~/.compose-cache и помещение логов в Ram (не пользуюсь, логи нужны). Можно пересобрать ядро, если чешутся руки (даст прирост производительности у собственных мозгов) и побаловаться с выставлением приоритетов для программ: $ sudo nice --20 mplayer. Для жёстких ide-дисков предусмотрены программа hdparm (вдруг dma без неё не работает?) и файловая система ext4. Вдобавок, энтузиасты пользуются apt-build и меняют init на upstart для ускорения загрузки.

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

Рам-диск (Ram drive), как можно узнать из Википедии, - это электронный диск — компьютерная технология, позволяющая хранить данные в быстродействующей оперативной памяти как на блочном устройстве (диске). Может быть реализована как программно, так и аппаратно.
Рам-дисками, думаю, начинали баловаться многие ещё в винде. Я даже запускал когда-то игрушку из такого временного диска, поскольку жёсткий диск был очень медленный, а памяти лишней было много.
Сейчас при всех аппетитах моего Debiana Lenny, 1Gb оперативы остаётся свободным почти всегда, и его предстоит заюзать на временный виртуальный диск.

Создаём рам-диск.

Открывам fstab:
# nano /etc/fstab
Дописываем строчку с новым устройством:
none /ramdisk ramfs defaults,size=711m 1 2

Пояснение:
/ramdisk - папка, в которую будет монтироваться виртуальный диск (права я выставил 777, не жалко=))
size=711m - размер виртуального диска в мегабайтах

Монтируем:
# mount -a

В наутилусе дожен появиться новй носитель, под название ramdisk, теперь можно делать с ним всё, что угодно.

В частности, для себя сделал две вещи:
1) Уже год наверное, переодически в Gnome начинаются несмешные тормоза интерфейса. Причина была найдена - это кеш превьюшек от графических файлов. В течение времени он разрастается до весьма жирных размеров, и похоже, что системой этот процесс не регулируется никак. Кеш находится в ~/.thumbnails и использует две папки: fail и normal. В первую набивается такое кол-во мусорных микро-файлов, что приходится удалять целиком папку. Во втором каталоге, собственно, и находятся превьюшки всех картинок, по которым я когда-либо лазил на жёстком диске.
Помещаю всё это безобразие на рам-диск, вместо вышеописанных папок оставим сим-линки.
Пишем небольшой скриптик:
$ nano ~/temp
И помещаем в него соответствующие команды:
#!/bin/bash
mkdir /ramdisk/normal
chmod 777 /ramdisk/normal
ln -s /ramdisk/normal /home/user/.thumbnails/normal
mkdir /ramdisk/fail
ln -s /ramdisk/fail /home/user/.thumbnails/fail
chmod 777 /ramdisk/fail

Скрипт делаем исполняемым и помещаем в rc.local.

Конечно у данной "оптимизации" есть недостаток: после каждой загрузки кеш будет создаваться заново, но на виртуальном диске происходит это почти молниеносно. А по каталогам с большим количеством графических файлов лучше "путешествовать" при помощи Picasa.

2) Кеш графических программ, например, фотошопа.
Фотошоп (конечно же лицензия) любит здоровые кеш-файлы по 300мб и больше и совершенно не любит убирать их за собой.
Всё его добро таким же образом помещаем в кеш и убиваем двух зайцев: программа стала работать быстрее, и никакого мусора после перезагрузки.

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

Понравился пост? Подпишись на обновления блога по Tuxologia RSSRSS, Tuxologia по EmailEmail или twitter!

4 коммента :

Владислав комментирует...

Вы фотошопом пользуетесь в Линукс? Почему не Gimp?

Al комментирует...

И джимпом тоже, ничем не хуже. Просто одни задачи легче или привычнее в шопе выполнять, другие в джимпе.

deepweb комментирует...

у меня в ubuntu 10.10 при запущенном transmission, terminal, nautilus и google-chrome (10 вкладок) - гиг оперативки (59%) еще год назад я не замечал потребности добавить память (у меня 2 Гб), теперь, если запустить еще OOwriter и Gimp начинается слайд шоу, основной виновник торжества - браузер хром и фаерфокс просто пожирают оперативку

Al комментирует...

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

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.

Интеллект — это способность избегать выполнения работы, но так, чтобы она при этом была сделана.