понедельник, 3 октября 2011 г.

Оптимизация через fstab

Итак, открываем файл /etc/fstab, в котором содержатся сведения о монтируемых при загрузке разделах. Ну и добавляем опции монтирования на выбор, в зависимости от того, что нужно получить в итоге… Опции зависят от файловой системы:
ReiserFS: acl,user_xattr,noatime,nodiratime,notail,barrier=flush
Ext3/Ext4: acl,user_xattr,noatime,nodiratime,barrier=1
XFS:defaults,noatime,nodiratime,logbufs=8,logbsize=32k,biosize=16,allocsize=512m,barrier
Обозначает все это следующие функции:

- user_xattr – расширенные атрибуты файлов (используются для индексирования) 
- barrier – команда очистки кэша 
- noatime и nodiratime – отключение записи времени последнего доступа (для файлов/директорий) 
 - allocsize – размер заранее резервируемой области на диске. Высокое значение помогает избежать фрагментации 
- biosize – размер I/O-блоков по умолчанию 
- logbufs – количество встроенных буферов для ведения журнала 
- logbsize – размер буфера 
- notail - не упаковывать хвосты больших файлов – улучшает производительность – увеличивает используемое для хранения место(~5%) (для применения этой опции надо перезаписать находящиеся на ней файлы!)

tmpfs  - виртуальная файловая система, или RAM-диск, находящийся в оперативной памяти машины. Конечно, создавать этот диск имеет смысл только при наличии достаточного объёма оперативной памяти (не менее 1,5 Гб). В моём конфиге в оперативную память вынесены временные файлы, на диск размером 128 Мб. Этот параметр можно изменять как угодно, рекомендуется не превышать величину 25% от объёма оперативной памяти.
Пример: tmpfs /tmp tmpfs defaults,size=128m 0 0

Костыль для banshee (теги в CP1251)

#!/bin/sh
grep ru_RU.CP1251 /var/lib/locales/supported.d/local >/dev/null
if [ $? -ne 0 ]; then
echo "ru_RU.CP1251 CP1251" | sudo tee -a /var/lib/locales/supported.d/local
fi

grep ru_RU.CP1251 /var/lib/locales/supported.d/ru >/dev/null
if [ $? -ne 0 ]; then

echo "ru_RU.CP1251 CP1251" | sudo tee -a /var/lib/locales/supported.d/ru
fi

sudo locale-gen
sudo mv /usr/bin/banshee /usr/bin/banshee_
 

echo "#!/bin/sh" | sudo tee /usr/bin/banshee
echo "sh -c 'LC_ALL=ru_RU.CP1251 banshee_'" | sudo tee -a /usr/bin/banshee
echo "exit 0" | sudo tee -a /usr/bin/banshee 

sudo chmod +x /usr/bin/banshee
rm -r ~/.config/banshee-1/

 
exit 0
 
Обратите внимание что будит удалена пользовательская библиотека!!! 
При создании новой, проблем с отображение тегов в Cp1251 не будит.