Категорії
Solaris

Рост CPU usage на Solaris 11

При продолжительных нагрузках может наблюдаться симптом роста потребления ядром процессорной мощности. Как оказалось это баг, который обсуждали здесь и он решается отключением “засыпания”:

– налету меняется так:

#echo apic_timer_preferred_mode = 0x0 | mdb -kw

– для постояннки добавим в /etc/system

set apix:apic_timer_preferred_mode = 0x0

– для просмотра текущего состояния:

# echo apic_timer::print apic_timer_t | mdb -k
{
mode = 0
apic_timer_enable_ops = oneshot_timer_enable
apic_timer_disable_ops = oneshot_timer_disable
apic_timer_reprogram_ops = oneshot_timer_reprogram
}
# echo apic_timer_preferred_mode::print apic_timer_t |mdb -k
{
mode = 0
apic_timer_enable_ops = 0xffffc100
apic_timer_disable_ops = 0x1e12ee4000000000
apic_timer_reprogram_ops = 0xffffc100
}

Категорії
Solaris

Разбираемся с core/crash-файлами

При падении приложения оно создаёт core-файл, который можно проанализировать. За создание core файлов отвечает утилита coreadm. С её помощью можно указать, где будут лежать core-файлы, для каких типов создавать core-файлы и т.д.

Важно понимать, что core dump файлы системы и процессов отличаются, и их нужно анализировать по разному.

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

Трассировка приложений

Linux

strace/SystemTap/ftrace/ktap/pspy

FreeBSD

truss/ktrace/dtrace

OpenBSD

ktrace/kdump

Solaris

truss/dtrace

==================================

Misc


https://klarasystems.com/articles/freebsd-vs-linux-tracing-and-troubleshooting

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

Смотрим сетевой трафик в Realtime

Linux

$watch /sbin/ifconfig -s eth0

FreeBSD/OpenBSD

$netstat -w 1 -I em0

Solaris

$netstat -I net0 1
$dlstat -i 1 net0
#dladm show-link -s -i 1 net0

Здесь (http://www.brendangregg.com/Perf/network.html) неплохой подбор по утилитам замера трафика для Solaris

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

Монтирование ISO-образов

Рассмотрим монтирование iso-образов в разных ОС

Linux

смонтировать

#mount -o loop -t iso9660 file.iso /mnt/test

размонтировать

#umount /mnt/test

Категорії
Solaris

sysctl в Solaris

sysctl в Solaris отсутствует. Аналог есть, но он не один. Иными словами параметры разнесены по разным категориям и соответственно управляются через разные утилиты. И так, приступим к небольшому обзору.

Тестовый стенд: Solaris 10/11

Категорії
Solaris

Shared Memory

Разделяемую память (англ. Shared memory) применяют для того, чтобы увеличить скорость прохождения данных между процессами. В обычной ситуации обмен информацией между процессами проходит через ядро. Техника разделяемой памяти позволяет осуществить обмен информацией не через ядро, а используя некоторую часть виртуального адресного пространства, куда помещаются и откуда считываются данные.
После создания разделяемого сегмента памяти любой из пользовательских процессов может подсоединить его к своему собственному виртуальному пространству и работать с ним, как с обычным сегментом памяти. Недостатком такого обмена информацией является отсутствие каких бы то ни было средств синхронизации, однако для преодоления этого недостатка можно использовать технику семафоров.

Категорії
Solaris

Установка и настройка tftp сервера

Сам сервер по умолчанию уже входит в базовую поставку как Solaris 10 так и Solaris 11. Настройка в 10 и 11 ничем не отличается. И так:

1) Создаём корень tftp сервера:

#mkdir /var/tftp

2) Добавляем описание нашего сервера в inetd.conf:

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -s /var/tftp
tftp    dgram   udp6    wait    root    /usr/sbin/in.tftpd      in.tftpd -s /var/tftp

Если ipv6 не надо – просто уберите соответствующую строку.

Категорії
Solaris

Управление swap’ом

В Solaris 11 в процессе установки нигде не спрашивается о размере выделяемого swap’a. А всё потому, что они отталкиваются от такой таблицы

System Type
Swap Volume Size
Dump Volume Size
System with about 4 GB of physical memory
1 GB
2 GB
Mid-range server with about 8 GB of physical memory
2 GB
4 GB
High-end server with about 16 to 128 GB of physical memory
4 GB
8-64 GB
High-end server with more than 128 GB of physical memory
1/4 of physical memory size
1/2 of physical memory size

Но что делать, если нужно изменить размер swap’a?

Категорії
Solaris

Меняем shell сами себе

В Solaris 10/11 нету команды chsh для смены оболочки. Естественно, что root сможет поменять оболочку кому угодно, но что делать, если пользователь сам хочет себе поменять shell? Выход есть:

$ passwd -e skeletor
Old shell: /usr/bin/pfbash
New shell: /usr/bin/bash
passwd: password information changed for skeletor

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