Example Admin
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
example:example_admin [20.05.2019 06:51] admin |
example:example_admin [06.06.2019 20:02] (текущий) admin Approved(admin 2019/06/06 20:02) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | |||
+ | ==== perf ==== | ||
+ | <code bash> | ||
+ | # профилирование ###perf ###oprofile ###nmi | ||
+ | yum --enablerepo='base-debuginfo' install kernel-debuginfo-`uname -r` kernel-devel perf oprofile gdb kexec-tools crash | ||
+ | perf top -d 5 -U | ||
+ | perf top -d 5 -g -U | ||
+ | perf stat -e task-clock,cycles,instructions,cache-references,cache-misses sleep 5 | ||
+ | perf record -a sleep 5 и потом perf report | ||
+ | |||
+ | # профилирование ###perf ###oprofile ###nmi | ||
+ | echo 0 > /proc/sys/kernel/nmi_watchdog | ||
+ | opcontrol --deinit | ||
+ | opcontrol --init | ||
+ | opcontrol --reset | ||
+ | opcontrol --start --vmlinux=/usr/lib/debug/lib/modules/2.6.32-642.el6.x86_64/vmlinux | ||
+ | # но иногда можно и --no-vmlinux если нам не важно про ядро, а только про юспейс | ||
+ | # если баг Failed to open profile device: Device or resource busy, то стопаем все виртуалки KVM, одна из них залочила nmi | ||
+ | sleep 10 # ждем сбора статистики | ||
+ | opcontrol --stop | ||
+ | # включаем watchdog обратно | ||
+ | echo 1 > /proc/sys/kernel/nmi_watchdog | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== grub ==== | ||
+ | <code bash> | ||
+ | # grub запустить ядро 1 раз ###savedefault ###default=0 ###once | ||
+ | grub> savedefault --default=0 --once | ||
+ | grub> quit | ||
+ | # обязательно уберите rdshell в меню тестового ядра | ||
+ | </code> | ||
+ | |||
+ | ==== Статистика и диагностика ==== | ||
+ | <code bash> | ||
+ | # Кто использует swap ###swap | ||
+ | smem -kts swap | ||
+ | |||
+ | # Насколько используется диск ###disk ###io ###iostat | ||
+ | iostat -kt 1 | ||
+ | |||
+ | # Кто использует диск ###iotop ###disk ###io | ||
+ | iotop -kPd 5 | ||
+ | |||
+ | #Разовый top по всем процессам ###top | ||
+ | top -n 1 -b | ||
+ | |||
+ | # Кто использует swap ###swap | ||
+ | smem -kts swap | ||
+ | |||
+ | # slab ###slab | ||
+ | vmstat -m | ||
+ | |||
+ | # Просмотр памяти активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
+ | LANG=C sar -r -f /var/log/sa/sa21 | grep 16: | ||
+ | # Просмотр swap активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
+ | LANG=C sar -S -f /var/log/sa/sa21 | grep 16: | ||
+ | # Просмотр loadavg за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
+ | LANG=C sar -q -f /var/log/sa/sa21 | grep 16: | ||
+ | # Просмотр использования cpu активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
+ | LANG=C sar -u -f /var/log/sa/sa21 | grep 16: | ||
+ | # Просмотр занятой памяти под direntry | ||
+ | sar -v 0 | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ==== ssh back-connect ==== | ||
+ | |||
+ | <code bash> | ||
+ | # В данной заметке пойдёт речь про более хитрое использование SSH для оказания удалённой помощи серверу, находящемуся за NAT. | ||
+ | # Заходим на машину клиента: | ||
+ | ssh root@10.90.10.150 | ||
+ | # На машине клиента выполняем команду | ||
+ | ssh -R 1522:localhost:22 root@gate.carbonsoft.ru -p 22 | ||
+ | # Вводим пароль и установливаем соединение. | ||
+ | # Далее на gate.carbonsoft.ru выполняем вход к клиенту. | ||
+ | ssh root@localhost -p 1522 | ||
+ | </code> | ||
+ | |||
+ | ==== systemd ==== | ||
+ | |||
+ | Очистка кэша DNS | ||
+ | |||
+ | <code> | ||
+ | systemd-resolve --flush-caches | ||
+ | </code> | ||
<code bash> | <code bash> | ||
# Загрузить ядро без проверки сигнатур ###kernel ###options ###module ###sig ###signature | # Загрузить ядро без проверки сигнатур ###kernel ###options ###module ###sig ###signature | ||
Строка 34: | Строка 120: | ||
mkfs.ext4 /dev/md100 -E stride=128,stripe_width=256 | mkfs.ext4 /dev/md100 -E stride=128,stripe_width=256 | ||
+ | # заменить сбойный диск в mdadm ###mdadm | ||
+ | mdadm --manage /dev/md0 --fail /dev/sda1 | ||
+ | mdadm --manage /dev/md0 --remove /dev/sda1 | ||
+ | mdadm --manage /dev/md0 --add /dev/sda1 | ||
# Отключить selinux ###linux ###selinux | # Отключить selinux ###linux ###selinux |