Май 28 2010

Общие моменты

Published by

Демоны

Ресурсы системы занимают процессы-для уменьшения аппетита системы логично свести их число к минимуму.
браузеры и месенджеры не сократишь,а вот демонов можно — например зачем мне запущенный апач если я не собираюсь сайт хостить на домашней машине?В любом дистрибутиве есть стандартные для него средства управления демонами- в Mandriva ,например, Центр управления (Drake) или

 chkconfig --level 5 dm on

где 5 — уровень запуска, dm — сервис, on — включить
в gentoo

 rc-update add xdm default

add -добавить, xdm — сервис, default — уровень запуска
и т.д. можно уменьшить количество запускаемых демонов и напрямую колдуя в /etc/rc.d/rcX.d/ (в случае Mandriva) или в/etc/runlevels/* (gentoo)
/etc/rc.d/rcX.d/
X=уровень запуска (дефолт 5 — иксы) эти каталоги содержат некоторое количество символических ссылок на скрипты в
/etc/rc.d/init.d/
ссылки начинаются на K или S

S=start

K=kill

т.е при переходе на данный уровень все ссылки начинающиеся с S запустят соответствующие им демоны и программы (включая иксы кеды-гномы и т.д.) а те что начинаются с К соответственно убьют.
для того чтобы вручную (например не запустились иксы и тотже drake не доступен) выключить демона для какого то уровня — достаточно перед S дописать хотя бы 1 символ

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

Консоли
при дефолтных настройках в Linux запускается 6 виртуальных консолей,переключаться между которыми можно по Alt+Fn или Ctrl+Alt+Fn
но обычно их столько не нужно. лишние консоли убираются через правку

/etc/inittab

в нём находим строки похожие на эти 

# TERMINALS
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
#c3:2345:respawn:/sbin/agetty 38400 tty3 linux
#c4:2345:respawn:/sbin/agetty 38400 tty4 linux
#c5:2345:respawn:/sbin/agetty 38400 tty5 linux
#c6:2345:respawn:/sbin/agetty 38400 tty6 linux

сХ — номер консоли

12345 — уровни на которых эти консоли стартуют

чтобы убрать лишние — коментируем строки (ставим вначале # ) начиная снизу

В Upstart (*buntu Fedora etc)

правим файлы /etc/init/ttyX.conf (где Х = номер консоли)выглядят они примерно так

# ttyX – getty
#
# This service maintains a getty on ttyX from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L ttySX 115200 vt100
#exec /sbin/getty -8 38400 ttyX

приводим к вот такому виду

# ttyX - getty
#
# This service maintains a getty on ttyX from the point the system is
# started until it is shut down again.
#
#start on stopped rc RUNLEVEL=[2345]
#stop on runlevel [!2345]
#
#respawn
#exec /sbin/getty -L ttySX 115200 vt100
#exec /sbin/getty -8 38400 ttyX

Сеть

Заставим Linux обрабатывать большее число TCP/IP соединений за определенное время. Нижеописанные настройки уменьшают время TCP/IP подключения, чтобы можно было обработать больше соединений за тот же интервал. Также будет уменьшено время, которое Linux ждет до закрытия соединения, и время, через которое Linux разрывает устаревшее соединение. Эти настройки отключат некоторые расширения протокола TCP/IP, которые нам не нужны. Значения параметров TCP/IP стека, принятые в Red Hat по умолчанию:

tcp_fin_timeout "60"
tcp_keepalive_time "7200"
tcp_window_scaling "1"
tcp_sack "1"
tcp_timestamps "1"

Чтобы изменить параметры TCP/IP, используйте следующие команды:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 0 > /proc/sys/net/ipv4/tcp_timestamps

Вы можете добавить эти команды в /etc/rc.d/rc.local, чтобы они выполнялись каждый раз при загрузке компьютера.

Или отредактируйте файл /etc/sysctl.conf и добавьте следующие строки:

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0

Чтобы изменения вступили в силу, стоит перезагрузить систему.
Ещё опции для сети sysctl.conf

Strip

Уменьшение объема программ. Перейдите в
/usr/bin
и наберите команду

strip -s *

Она удалит из запускаемых файлов всю информацию, которая может понадобиться только тем, кто занимается debug’ом программ, но не относится к телу программы. Повторите это действие в /usr/X11R6/bin и других каталогах, содержащих исполняемые программы (не забывайте про программы TeX и gcc), но не делайте этого в /sbin, /bin или /usr/sbin, т.к. здесь это особо не уменьшит размер файлов, но может повредить некоторые из них.

Браузеры

на примере firefox
так же для firefox-а можно применить следующее
SQLite

find ~/.mozilla/ -name '*.sqlite' -print -exec sqlite3 {} "VACUUM; REINDEX;" \;

для chromium

find ~/.config/chromium/ -type f -exec file {} \; | grep "SQLite 3.x" | cut -d":" -f1 | while read line;do sqlite3 "$line" "VACUUM; REINDEX;" ;done

впрочем подойдёт для чего угодно, т.к. не боится пробелов и не обязательно указывать имена/части_имён файлов
Автостарт

стОит убрать из него всё что не используется — например в KDE4  в автозапуск прописываются
korgac nepomuk klipper kalarm и т.д.
всё лишнее удаляем из

/usr/share/autostart

~/.config/autostart

так же стоит посмотреть и в

~/.kde4/Autostart

с другими DE аналогично

HDD

X11 (устарело, лучше сделать наоборот)

В библиотеке libx11 имеется поддержка кэширования символьных таблиц (compose-table-cache),
получаемых в результате парсинга «/usr/share/X11/locale/имя_локали/Compose»
файлов локали (парсинг более 5000 строк при каждом запуске),
что позволяет сократить время запуска некоторых приложений (например,
использующих Qt или Gtk) на 40-200 мс.
и уменьшить потребление памяти каждым приложением примерно на 240Кб (данные для UTF8 локали).

Для включения кэша достаточно в домашней директории создать каталог .compose-cache

mkdir ~/.compose-cache

This page has the following sub pages.

4 responses so far

4 Responses to “Общие моменты”

  1. son 05 Сен 2011 at 07:12

    последнее про кэш. У меня после этого стал slim 20 секунд грузиться, что вообще нехорошо.

  2. megabakson 05 Сен 2011 at 10:48

    что-то неладно в твоём королевстве

  3. son 07 Сен 2011 at 15:24

    прости засранца, не оно было виновато.

  4. +apton 03 Май 2012 at 02:34

    Ускорение работы менеджера пакетов
    Чем больше пакетов установлено в системе, тем больше разрастается база данных об установленных пакетах. Её чтение во время установки/удаления пакетов можно несколько ускорить дефрагментацией.

    cd
    strace -efile -o dpkg.tr dpkg -S /bin/ls
    cd /var/lib/dpkg
    sudo mkdir info.new
    grep ‘^open’ ~/dpkg.tr | sed -r ‘/dpkg\/info/sX.*»(.*)».*X\1Xp’ -n | xargs sudo cp -a -t info.new
    echo# cmd line length limits prevent info/*. I could have used rsync -au info/ info.new
    sudo cp -iau info/[a-k]* info.new/
    sudo cp -iau info/[l]* info.new/
    sudo cp -iau info/[m-z]* info.new/
    diff -ur info info.new/
    sudo rm -rf info
    sudo mv info.new info

    sync
    echo 3 | sudo tee /proc/sys/vm/drop_caches
    time dpkg -S /bin/ls

Trackback URI | Comments RSS

Leave a Reply


*

Powered by WordPress