Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемТимур Шубин
1 Встроенные средства диагностики ОСРВ QNX4 Николай Горбунов SWD Real-Time Systems Конференция QNX Россия сентября, Санкт-Петербург
2 Микроядро Менеджер файловых систем Менеджер процесссов Менеджер сети Менеджер устройств Ключевые подсистемы QNX4 Подсистема процессовФайловая подсистема Подсистема устройствСетевая подсистема
3 Ключевые подсистемы QNX4: микроядро Модуль IPC Маршрути- затор IRQ Сетевой интерфейс Планировщик Процесс А Процесс Б Оборудование Менеджер сети среда передачи Интерфейс системного монитора Файл журнала monitor msgprint mindex dv Deja-View
4 Диагностика микроядра: монитор системных событий # Вызов монитора; нажмите Ctrl-C или пошлите # SIGTERM для выхода: monitor [-f ] \ [-p ] \ [[-i … ] | [-n]] [&] # Анализ журнала в текстовой форме: msgprint
5 Анализ журналов микроядра: утилита msgprint 6.ed00033f active is 24(Net) 6.ed proxy(59(Socklet)) triggers 59(Socklet) 6.ed00043a 24(Net) Triggers proxy(59(Socklet)) 6.ed (Net) recv (none) [] from {none} 6.ed0004a7 active is 59(Socklet) 6.ed0004ce 59(Socklet) recv (none) [] from proxy(59(Socklet)) 6.ed0005b4 proxy(19603(phrelay)) triggers 19603(phrelay) 6.ed0005c9 59(Socklet) Triggers proxy(19603(phrelay)) временная метка событие пример вывода утилиты msgprint
6 Визуальный анализ журналов микроядра: Deja-View окно временных диаграмм окно событий список процессов
7 Ключевые подсистемы QNX4: подсистема процессов sin/vsin ps (POSIX) sac/phsac traceinfo licinfo Буфер трассировки Таблица лицензий Информация о процессах Proc32 Средства отображения системной информации Менеджер процессов Запрос на регистрацию события Процесс А Лицензии /.licenses sinit
8 Информация о процессах, предоставляемая утилитой sin окружение процесса, имена, аргументы и флаги приоритет и дисциплина планирования тип и причины блокировки корень файловой системы открытые файлы и файловые дескрипторы идентификаторы процесса и сессии размеры кода и данных времена старта и активности; таймеры идентификаторы пользователя и группы обработка сигналов
9 Утилита vsin: информация о процессах управление колонками можно задавать номер узла
10 Утилита vsin: виртуальные каналы узла
11 Утилита vsin: прокси-процессы
12 Утилита vsin: таймеры реального времени
13 Утилита vsin: обработка прерываний
14 Утилита vsin: сеть QNX
15 Утилиты sac и phsac: системная активность коэффициент сглаживания период опроса гистограмма активности
16 Подсистема процессов: лицензионная информация Информация, предоставляемая утилитой licinfo: содержимое лицензионной базы данных Proc32 количество разрешенных копий каждого продукта сколько и на каких узлах сети запущено копий каждого продукта
17 Подсистема процессов: события трасссировки Код источника события Код события Код важности события Дополнительные данные (если есть) Кто сообщил (коды назначаются QSSL) Что произошло 0..7, 0 = наибольшая важность
18 События трасссировки: генерация Trace0() Trace0b() Trace1() Trace1b() Trace2() Trace2b() Trace3() Trace3b() Trace4() Trace4b() Trace5() Trace5b() Trace6() Trace6b()
19 Создание и чтение журналов трассировки Файл журнала tracelogger Форматы вывода /etc/config/traceinfo Буфер трассировки Proc32 Менеджер процессов traceinfo Микроядро Процесс А Trace*() tracectrl
20 Анализ журналов трассировки: утилита traceinfo May 10 13:21: (576) 1000 (irq) out-of-window collision (bad hardware) May 10 13:21: f May 10 13:21: c 1 (044) NET ( rx) Possible duplicate vid sequence number May 10 13:22: clusters allocated at May 10 13:24: (576) 1000 (irq) out-of-window collision (bad hardware) May 10 13:35: Warning! 5 overruns have occurred. Some trace events lost. дата важность код источника код события расшифровка
21 Ключевые подсистемы QNX4: файловая подсистема Логический уровень /dev/hdNtM «Сырые» устройства /dev/hdN Fsys Fsys.* Физический уровень системные счетчики fsysinfo df du dcheck информация о ресурсах отчеты о дисковом пространстве chkfsysProc32 Trace*() контроль целостности Trace*()
22 Файловая подсистема QNX4: отчеты о дисковом пространстве Пример вывода утилит df и du в 512-байтовых блоках: [//11:root] /home/root # df -h File system(Blks) Total UserUsedFreeUsedMounted on //11/dev/hd0t %/ [//11:root] /home/root # du -a /tmp 13/tmp/cron.log 955/tmp/system.log 10169/tmp/uucp.debug 137/tmp/uucp.stats 555/tmp/uucp.log 1962/tmp/system.log.old 8/tmp/cron.log.old
23 Файловая подсистема QNX4: проверка логической и физической целостности Утилита chkfsys: обнаружение и восстановление «потерянных» блоков обнаружение и коррекция нарушений структуры метаданных Утилита dcheck: обнаружение и исключение из использования сбойных и предотказовых блоков интерфейс с утилитой chkfsys
24 Файловая подсистема QNX4: ресурсы и статистика UsedMaxAlloc'dLimitHitsMissesRatio inodes % namesn/an/a % files locks threads0344 data hits:delays:misses= :0:4805 (98.92%) metadata hits:misses= :2513 (99.33%) cache lookups (47/sec) cache writes (18/sec) disk reads (65/sec) disk writes (34/sec) 73099open calls (3/sec) 12566stat calls (0/sec) namei calls (5/sec) 12072fstat calls (0/sec) 96154read calls (4/sec) write calls (5/sec) пример вывода утилиты fsysinfo
25 Ключевые подсистемы QNX4: подсистема устройств Dev Dev.* Физический уровень Proc32 Trace*()Интерфейс с оборудованием Интерфейс с процессами Терминальное оборудование Trace*()
26 Ключевые подсистемы QNX4: сетевая подсистема Net.* журнал событий сети netinfo статистика драйвера Proc32 Trace*() карта сети cписок доступных узлов netmap alive netpoll параметры опроса VC Net анализаторы сетевого протокола netsniffNetHound PNP очередь пакетов
27 Сетевая подсистема QNX4: карта сети Пример вывода утилиты netmap: #LogicalLanPhysicalTX CountLast TX Fail Time B 001AFE ;460May 17 13:45:53 22t0; F;1822May 17 13:45:57 32t0; E8 2123A2;460May 17 13:46: E ; E8 210D86; B7B;460May 17 13:46: C B9;460May 17 13:46: B4 9FB5CD;460May 17 13:46:16
28 Сетевая подсистема QNX4: параметры опроса целостности виртуальных каналов Пример вывода утилиты netpoll: on this node, the virtual circuit polling parameters are now: [p]oll_period seconds [i]dle_time seconds num_[r]etries интервал между опросными пакетами максимально допустимое время простоя канала число опросных пакетов
29 Сетевая подсистема QNX4: список доступных узлов Пример вывода утилиты alive: Node Status 2: Down7: Down13: Down18: Down20: Down 3: Down11: Up16: Down19: Down Альтернативный вариант получения списка (sin net): Nid Machine Cpu Fpu Speed Memory Hard Flop Other Display Flags 11 PCI M 1064M VGA Color P M 1064M
30 Сетевая подсистема QNX4: анализ журнала событий сети Пример вывода утилиты netinfo (фрагмент): Date Net (Nid|Status) Code Description 16:32:08 1 Status (507) 1000 ( tx) timeout (no nack) 16:32:08 1 Status 1 (507) 1000 ( tx) timeout (no nack) 16:32: C B9 (507) 1000 ( tx) timeout (no nack) 16:32:09 1Status 0 (507) 1000 ( tx) timeout (no nack) 16:32:09 1 Status (507)1000 ( tx) timeout (no nack) 16:32:09 1Status (507) 1000 ( tx) timeout (no nack) 16:32:09 1 Status 1 (507) 1000 ( tx) timeout (no nack) 16:32: C B9 (507) 1000 ( tx) timeout (no nack)
31 Сетевая подсистема QNX4: статистика уровня драйверов Информация, предоставляемая утилитой netinfo в режиме статистики (драйвер Net.ether1000): тип, MAC-адрес, конфигурация и ресурсы адаптера число корректно и некорректно принятых/переданных пакетов число сбоев приема/передачи по типам (коллизии, потеря несущей, и т.п.) число ошибок буферизации по типам (FIFO overrun/underrun, и т.п.) число ошибок контрольной суммы
32 Сетевая подсистема QNX4: прием пакетов очередь пакетов Сетевой адаптер Среда передачи буфер виртуального канала Процесс 1 Микроядро Net.* Net «сырой» интерфейс Процесс 3 Процесс 2... Процесс N
33 Сетевая подсистема QNX4: перехват пакетов Сетевой адаптер должен находиться в режиме «неразборчивого» (promiscuous) приема, а также позволять принимать многоабонентские пакеты (опции -P и -M драйвера Net.*) Пакет не должен иметь процесса-адресата: – сетевой адаптер, предназначенный для перехвата пакетов, не должен быть описан в карте сети – динамическая модификация карты сети должны бать запрещена (опция -A менеджера Net) Должно быть включено «каскадирование» (stacking) «сырых» приложений (опция -S менеджера Net)
34 Анализ сетевого трафика: Photon Network Probe
35 Сетевая подсистема QNX4: диагностика сетей TCP/IP ping (эхо-запрос узла IP-сети пакетами ECHO_REQUEST протокола ICMP) if_up (проверка доступности IP-интерфейса) arp (отображение и настройка параметров протокола ARP) nslookup (опрос службы доменных имен DNS) rpcinfo (отображение информации RPC) showmount (отображение точек монтирования сервера NFS) traceroute (трассировка таблиц маршрутизации IP) netstat (отображение состояния и статистики IP-сети) snmp* (функции протокола управления сетью SNMP)
36 Системные журналы высокого уровня syslogd Процесс А сценарий shell текстовый журнал cat less файл конфигурации средства отображения logger syslog() sh /etc/syslog.conf удаленному syslogd more /tmp/syslog
37 Системные журналы высокого уровня: формат записи Формат записи в журнале syslog: дата и время возникновения события идентификатор узла сети, на котором событие произошло имя/идентификатор процесса/пользователя, запросившего регистрацию события текстовое сообщение (определяется пользователем)
38 Системные журналы высокого уровня: сортировка запросов syslogd /etc/syslog.conf уровень запроса источник запроса решение о переадресации Уровни запросов: emerg alert crit err warning notice info debug Источники запросов: auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0..7 {уровень; источник} = приоритет
39 Системные журналы высокого уровня: утилита logger # Регистрация события с заданным приоритетом # в системном журнале: logger [-i] [-s] [-f ] \ [-p |. ] \ [-t ] [текстовое_сообщение]
40 Системные журналы высокого уровня: программный доступ openlog() - открыть журнал на запись setlogmask() - установить маску приоритета syslog()/vsyslog() - сделать запись в журнале closelog() - закрыть журнал
41 «Посмертная» диагностика процессов Микроядроdumper Процесс А SIGABRT SIGBUS SIGFPE SIGILL SIGSEGV Отладчик (wd) образ процесса А исходный текст Процесс Б
42 «Посмертная» диагностика процессов: утилита dumper # Сохранение «посмертного» образа конкретного # процесса по ненормальному завершению: dumper [-d ] [-p PID] & # Сохранение «посмертного» образа любого # процесса по любому завершению: dumper [-d ] &
43 Диагностика оборудования Автоопределение: crttrap disktrap nettrap mousetrap PCI-устройства: show_pci pci_write PCMCIA-устройства : pin pcmciatrap
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.