cd, pushd, podd

  • Используйте cd, если вам нужно просто перейти в папку и вы не планируете возвращаться назад в ближайшее время. Это стандарт для обычной навигации.
  • Используйте pushd, если вы работаете в одной папке, но вам нужно перейти в другую (например, чтобы что-то скопировать или скомпилировать) и быстро вернуться обратно.


Читать дальше

NMS, monitoring, observability, inventory, management, NTA, performance monitoring systems

  • Linux Performance Observability Tools: strace ltrace ss nstat gethostlatency sar proc dmesg dstat opensnoop laof fatrace filelife pcstat execsnoop mpstat profile runqlen offcputime softirqs turbostat show boost rmdsr perf fteace LTTng BCC bpftrace ext4dist ext4slower top atop ps pidstat vmstat slabtop free tiptop perf numastat hardirqs criticalstat nicstat netstat ip lldptool snmpget ethtool tcplife tcpretrans udpconnect tcpdump perf tiptop mdflush iostat biosnoop biolatency biotop blktrace swapon

  • Мониторинг призван уменьшать значение времени исправления проблем (MTTR) или даже предотвращать возникновение аварийных ситуаций (подробнее ниже)
  • Задача классического админа, решаемая мониторингом – сделать алерты в системе мониторинга на уменьшение количества краски в принтерах
  • Существует разная глубина взросления «мониоринга» – реакция по негативному фидбеку/инцидента от пользователя, реакция на события мониторинга еще до обращения клиента, автоматизация на события мониторинга (напр.


Читать дальше

Linux: информация о системе (system info, uptime, dmidecode)

uptime – маленькая утилита. Показывает Uptime, количество юзеров, load average (1, 5, 15 min).

~$ uptime
 16:18:52 up 14 days, 16:17, 1 user, load average: 0.00, 0.01, 0.05

>> load average 20 bad or good
A load average of 20 is bad if your system has fewer than 20 CPU cores, as it indicates that tasks are waiting for CPU time and the system is likely overloaded.


Читать дальше

Linux: top

Командный режим
top -icbn1
 
Интерактивный режим

Заходим в top, нажимаем

“1” – показывает загрузку по ядрам.

“s” – изменяем интервал обновления/сбора статистики (напр.  уменьшаем c 3 секунд до 0.1).

“M” – сортировка процессов по утилизации RAM

“P” – сортировка процессов по утилизации CPU (processor)

“k” – возможность отправить KILL PID (kill -15 / SIGTERM) находясь в TOP

“t” – показываем в виде статус бара

%Cpu0 : 6.2/12.5 19[||||||||||||||||||| ]
%Cpu1 : 11.8/11.8 24[|||||||||||||||||||||||| ]
%Cpu2 : 13.3/20.0 33[||||||||||||||||||||||||||||||||| ]
%Cpu3 : 25.0/18.8 44[|||||||||||||||||||||||||||||||||||||||||||| ]
 
Поэкранный вывод

top –b – вывод каждые три секунды всего top’a.

Читать дальше

Linux: DPDK, HYPERSCAN, SNABB; NETMAP DNA, PFRING, XDP; hugepages

  • Хорошие таблицы, взяты отсюда https://habr.com/ru/companies/garda/articles/985596/

Производитель Модель Скорость Ключевые особенности Применение
NVIDIA BlueField-3

 

DPU

400 Gbps 16x ARM Cortex-A78,

 

аппаратный eBPF

Cloud security, Zero-Trust
Intel IPU E2000 200 Gbps Интеграция с Open vSwitch, поддержка QAT Виртуализация,

 

SDN

AMD/Xilinx Alveo SN1000 100 Gbps FPGA + ARM-ядра,

 

анализ TLS/SSL

Финансовый мониторинг
Marvell OCTEON 10

 

DPU

100 Gbps 8x ARM Neoverse N2,

 

аппаратный DPI

Телеком (5G UPF)

Программные методы Аппаратные методы
  AF_PACKET PF_RING /

 

PF_RING ZC

DPDK (PMD) DPDK (AF_XDP) FPGA SmartNIC
Скорость До 10 Gbps 10 Gbps

 

40-100 Gbps

До 200+ Gbps До 100 Gbps Многократные 100G порты (400G, 800G) До 200 Gbps

 

на порт

Задержка

 

(Latency)

Высокая Средняя

 

Низкая

Очень низкая Низкая Экстремально низкая детерминированная Очень низкая детерминированная
Сложность реализации Низкая (стандартный

 

API)

Средняя (свои драйверы и библиотеки) Высокая (выделенные ядра, управление памятью) Высокая

 

(работа с еВРЕ)

Очень

 

высокая (HDL/Verilog/V

HDL, RTL-дизайна)

Высокая (ASIC,

 

C/OpenCL)

Стоимость Бесплатно (входит в состав ОС) Бесплатно /

 

Платная

Бесплатно, но мощные CPU

 

совместимые NIC

Бесплатно Очень высокая Высокая
Ключевые особенности Простота использ-ниЯ, стандартность Улучшенная производите-ть.


Читать дальше

WordPress разные хинты

Разное
  • Usage статистика WordPress по  используемым версиях WordPress, PHP, Mysql, locale, etc
  • Для проигрывания GIF нужно выбирать full size при insert картинки в пост, иначе она будет статичной
  • Чтобы постить source-code почти без изменений (скобки пришлось подменять все равно) нужно использовать плагин SyntaxHighlighter.


Читать дальше

NIC, Linux: работа с NIC, с сетевыми интерфейсами

BASIC
  • COMPARING NET-TOOLS VS. IPROUTE PACKAGE COMMANDS
  • Очереди сетевой карты (NIC queues), также известные как кольцевые буферы (ring buffers), используют оперативную память (RAM) компьютера, а не внутреннюю память самой карты. Очереди приема (Rx) и передачи (Tx) представляют собой области в системной RAM, которые выделяются драйвером сетевой карты при инициализации.


Читать дальше

Linux: permissions/права/sudo & user/group management

  • POSIX based file permissions пришли еще с UNIX (поэтому актуальны и для MacOS), они определили формат назначания прав read/write/execute для user/group/others; подробнее ниже
  • ACL based file permissions позволяют назначать разные права для разных пользователей и групп, в отличии от классического POSIX подхода; подробнее ниже
  • Удобный калькулятор разрешений в десятичом виде в зависимости от типа прав (r/w/e) и scope (u/g/o)

  • Грамотные админы в повседневной работе не работают из под root, а заходят в эту учетку только если нужно что-то сделать – защита от случайных поломок, безопасность (как минимум пароль нужно ввести для входа под root)
  • Изначально ownership придуман чтобы собственник даже в случае некорректной установки прав не потерял доступ

 

sudo/su
su – тоже самое что su root.


Читать дальше

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • В Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc)
  • Любые изменения в /proc директории немедленно применяются kernel
All changes to files in /proc/ are immediately recognized by the kernel.


Читать дальше

Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • Для отладки кода C, в том числе даже таких крупных проектов (напр. пропусков атак в них) как snort/suricata можно и нужно использовать отладчик GDB.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust and partially others.


Читать дальше