Категорії
Linux

Ограничиваем использование mem, cpu определённому приложению

Этот вопрос очень актуален, например, на десктопе: у меня opera время от времени начинает выедать всю доступную память и весь swap. Было принято решение ограничить её аппетиты.

Банальный ulimit не подходит, так как он ограничит для всех приложений, запускаемых от юзера. А мне нужно что бы только одно приложение и под конкретным пользователем. После недолгих гуглений, натолкнулся на cgroups.

Категорії
Linux

Лимиты в Linux

Каждый процесс имеет свои лимиты (потребление памяти, количество одновременно запущенных файлов и прочие).  При запуске процесс читает файл /etc/security/limits.conf на предмет ограничений (просматривается, пользователь/группа и ищется совпадение; если совпадений нет, то используются дефолтные параметры) и запускается с нужными лимитами.
Узнать лимиты у запущенного процесса можно так:

$ cat /proc/{PID}/limits

Категорії
Solaris

Device /scsi_vhci/disk@g5000c5007171e03f failed to power up

Вот такое сообщения я получаю, когда пробую установить Solaris. И так ругается на все 6 дисков, которые есть в сервере. Как итог: система не ставится, так как все диски в offline.

Мудрые коллеги подсказали, что это проблема контроллера Dell Perc H200, а точнее проблема энергосбережения, а так же подсказали решение , но оно уже годится для установленной системы.

Под FreeBSD под этот контроллер нету энергосбережения, поэтому там таких проблем нет и система на него ставится без проблем.

Категорії
Programming Solaris

Сборка tmux’a под Solaris

Тестовый стенд: tmux-1.8, libevent-2.0.21

Сборка tmux’a под Solaris ещё тот квест с правкой исходников. И так, качаем свежую версию tmux’a, а так же libevent (как зависимость). libevent ставится без проблем:

root@skeletor:/export/home/skeletor/libevent-2.0.21-stable# CFLAGS="-m64 -O2" CPPFLAGS="-m64 -O2" CCASFLAGS="-m64 -O2" CXXFLAGS="-m64 -O2" LDFLAGS="-m64 -O2" ./configure --prefix=/usr --libdir=/lib/64 && gmake && gmake install && gmake clean

А теперь соберём tmux:

Категорії
FreeBSD Linux Solaris WWW

Правильная ротация логов java/tomcat’a

Всё бы хорошо, но tomcat не понимает сигналs HUPSIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.

Категорії
Solaris

Добавление net в зону Solaris

Что делать, если зона запущена, а в ней нужно добавить ещё одну сеть? Можно добавить через zonecfg и ребутнуть зону. Но что делать, если ребут невозможен по каким-то причинам? Оказывается, выход есть.

Примечание.

Начиная с 11.2 появилась возможность сделать apply конфига при запущенной зоне. Делаем необходимые изменения через zonecfg и потом просто выполняем:

# zoneadm -z zonename apply

Категорії
Solaris

Очень ограниченный профиль пользователя в Solaris

Появилась задача: создать юзера, который бы ничего не мог сделать, кроме как читать файл (в идеале только 1 )), но это оказалось невозможным, возможно пока).

В Solaris за права юзеру отвечает RBAC. Он позволяет как расширить права, так и сузить. По дефолту новому юзеру присваивается 2 профиля: All и Basic Solaris User:

$ profiles skeletor
skeletor:
Basic Solaris User
All

Категорії
Hardware Misc, staff, other

Замена диска в MegaCli

Данная утилита от LSI так же позволяет оперировать рейд-контроллерами от Dell. Но замена дисков через такую утилиту – целый hardcore, только для настоящих Tru-админов )).

Тестовый стенд: контроллер PERC 6/i, RAID-1, Linux MegaCli64, выпал 1 диск.

Категорії
FreeBSD Security

Защита от небольшого DDoS’a

Что имеем: есть сервер (8Гб памяти, Intel(R) Xeon(R) CPU E31220 @ 3.10GHz) FreeBSD 8.4 Release amd64, сайт на php5.2, nginx+apache+mysql.

Перейти полностью на php-fpm не получилось, поэтому пришлось защищаться как есть. Это поможет отразить небольшую syn flood атаку.

Ниже будет приведены выполненные действия для отражения атак.

Категорії
FreeBSD

USB 3G модем и подвисание сервера при ребуте

После обновления FreeBSD 8.1 на 8.4 вылез неприятный момент: при ребуте сервер подвисает на сообщении:

usb0 disconnected

Всему виной оказался USB 3G модем Novatel U720, из-за которого и получали подвисание.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff