==== perf ==== # профилирование ###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 ==== grub ==== # grub запустить ядро 1 раз ###savedefault ###default=0 ###once grub> savedefault --default=0 --once grub> quit # обязательно уберите rdshell в меню тестового ядра ==== Статистика и диагностика ==== # Кто использует 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 ==== ssh back-connect ==== # В данной заметке пойдёт речь про более хитрое использование 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 ==== systemd ==== Очистка кэша DNS systemd-resolve --flush-caches # Загрузить ядро без проверки сигнатур ###kernel ###options ###module ###sig ###signature title 2.6.32 kernel /boot/bzImage badsigok # кто использует swap ###swap ###freemem #smem smem -kts swap # текущая нагрузка на диск ###disk ###io ###stat iostat -kt 1 # кто использует диск ###disk ###io ###stat iotop -kPd 1 # Показать все софтрейды ###mdadm ###softraid mdadm --detail --scan --verbose # Создать рейд ###mdadm ###softraid ###зеркало mdadm --create --metadata=0.90 --verbose -c 512 /dev/md0 --level=0 --raid-devices=2 /dev/sda7 /dev/sdb7 # сохранить текущую конфигурацию ###mdadm echo AUTO +imsm +1.x -all > /etc/mdadm.conf mdadm --examine --scan >> /etc/mdadm.conf dracut --force /boot/initramfs-2.6.32-042stab112.15.img 2.6.32-042stab112.15 # пересоздать сильно битый рейд без потери данных --assume-clean ###mdadm mdadm --create /dev/md10 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1 --assume-clean ###mdadm mdadm --create /dev/md50 --level=1 --auto=no --assume-clean --raid-devices=2 /dev/sdc2 /dev/sdd2 # создать рейд 10 с 4x скоростью линейного чтения и 1x записи(--layout=f2) ###mdadm ###create mdadm --create /dev/md100 --level=10 --auto=no --assume-clean --chunk=512K --raid-devices=4 --layout=f2 /dev/sda1 missing /dev/sdd1 missing # форматируем для --chunk=512K 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 echo 0 > /selinux/enforce vi /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SELINUXTYPE=targeted SETLOCALDEFS=0 # Список установленных пакетов ###yum yum list installed | awk '{print $1}' # Поиск пакета ###yum yum search php # установка пакета ###yum yum install php -y # Установка и использование epel ###yum yum install epel-release -y; yum install smbldap-tools --enablerepo=epel -y # Полезная ссылка на rhel src ###rpm ###srpms http://ftp.redhat.com/redhat/linux/enterprise/6Server/en/os/SRPMS/ # Монтирование рекомендуемые параметры ###mount mount -o errors=remount-ro,noatime,nodiratime,noauto_da_alloc /dev/mapper/$FLASHCACHE /mnt/$STORAGE # Посмотреть сколько не сброшено на диск данных ###linux ###proc cat /proc/meminfo | grep 'Dirty|Buffers' # Очистка кеша ###linux ###proc echo 3 > /proc/sys/vm/drop_caches # Линейная скорость диска, не забываем, что даже при малой записи эта скорость часто падает на порядок ###linux ###hdparm hdparm -t /dev/hda1 # Копировать со сжатием и правами, только по 1 большие файлы тк мелкие 100% упадут на некторых размерах из-за баги libz rsync ###rsync rsync -avz --compress-level=1 --progress --inplace --partial /var/lib/libvirt/images/git.qcow2 /var/lib/libvirt/images/git45.img 10.90.1.100:/mnt/voffice # доступ по ssh без пароля1 ###ssh ###keygen ssh-keygen /usr/bin/ssh-copy-id -i ~/.ssh/id_rsa.pub 10.120.177.33 # доступ по ssh без пароля2 ###ssh ssh-keygen cat ~/.ssh/id_rsa.pub | ssh 10.120.177.33 "cat >> ~/.ssh/authorized_keys" # очистить ###mail postsuper -d ALL # Если сервер повис, перезагрузить повисший сервер ###reboot ###sysrq # спасаем файловую систему ALT+SysRq + REISUSSB echo 1 > /proc/sys/kernel/sysrq; echo b > /proc/sysrq-trigger # или с клавиатуры ALT+SysRq + REISUSSB # или echo 1 > /proc/sys/kernel/sysrq echo r > /proc/sysrq-trigger echo e > /proc/sysrq-trigger echo i > /proc/sysrq-trigger echo s > /proc/sysrq-trigger echo u > /proc/sysrq-trigger echo s > /proc/sysrq-trigger echo b > /proc/sysrq-trigger # centos 6 как добавить src route стандартными средствами ###centos ###rule ###route route ip rule Настройка ip rule cd network-scripts cat rule-vmbr0 from 192.168.1.0/24 iif venet0 lookup internal from 192.168.1.0/24 to 192.168.1.0/24 iif venet0 lookup main ~~OWNERAPPROVE~~