Фройндшафт с чертенком Валерия Комиссарова Хакер, номер #081, стр. 081-108-5 # reboot В пятой фряхе механизм загрузки ядра, отличного от /boot/kernel/kernel, несколько иной (ok - это приглашение загрузчика): ok kldunload ok set module_path=/boot/kernel.old ok boot /boot/kernel.old/kernel В системе должен присутствовать файл /boot.config, в обратном случае создай его такой командой: # echo /boot/loader > /boot.config Кроме того, обязательно проверь в каталоге /boot наличие следующих файлов: boot0, boot1, boot2, loader. Всё, едем дальше. [тюнинг FreeBSD средствами sysctl] Механизм sysctl позволяет выполнять динамическое переконфигурирование и настройку некоторых компонентов операционной системы "на лету". С помощью sysctl можно оптимизировать множество вещей: сетевую подсистему, работу виртуальной памяти, жестких дисков и т.д. Программа sysctl, работающая в пространстве пользователя (userland), управляет ключевыми переменными ядра. Рассмотрим самые интересные из них, но сначала разберем методы работы с sysctl: Для вывода всех доступных для чтения переменных sysctl на экран: # sysctl -a Для чтения конкретной переменной: # sysctl имя_переменной Для присваивания значения переменной: # sysctl имя_переменной=присваиваемое_значение Переменные sysctl обычно принимают следующие типы значений: строковые, числовые и булевые (1 - да, 0 - нет). Если ты не хочешь каждый раз после загрузки устанавливать необходимые значения переменных, добавь их в /etc/sysctl.conf. Управление безопасностью security.bsd.unprivileged.proc_debug - позволяет выполнять отладку пользовательского процесса (например, через ptrace). security.bsd.see_other_uids, security.bsd.see_other_gids - позволяет пользователям видеть чужие процессы и сокеты, используя ps, netstat и procfs. security.bsd.unprivileged_read_msgbuf - разрешает пользовательскому процессу читать из системного консольного буфера сообщений. security.bsd.hardlink_check_uid,security.bsd.hardlink_check_gid - пользователи могут делать hardlink только на собственные файлы. security.bsd.conservative_signals - запрещает посылать некоторые сигналы setuid/setgid процессам. security.bsd.unprivileged_get_quota - разрешает пользователям смотреть информацию по установленным для них квотам. Оптимизация дисков vfs.vmiodirenable - эта опция отвечает за метод кэширования каталогов. В принципе, нужна только на машинах, оперирующих большим количеством файлов, например, на почтовых серверах. vfs.write_behind - позволяет записывать файлы на носитель по кластерам. vfs.hirunningspace - определяет количество запросов записи на диск, которые могут стоять в очереди. Этот параметр можно увеличить (особенно на машинах с большим количеством дисков), но не сильно, иначе можно наблюдать падение производительности. vm.swap_idle_enabled - данная переменная (совместно с vm.swap_idle_threshold1 и vm.swap_idle_threshold2) нужна лишь на машинах с большим количеством пользователей и ожидающих процессов. hw.ata.wc - включает и выключает режим кэширования записи на IDE-диск. Отключение этой опции вызывает ощутимое снижение производительности. Причиной отказа от ее использования может стать ранняя версия фряхи (<= 4.3), либо проблемы с железом. |