fsysinfo

Просмотр статистики файловых систем (QNX Neutrino)

Синтаксис:

fsysinfo [опции]* устройство|файловая_система

Поддерживаемые платформы:

Neutrino

Опции:

-l период

Цикл с установленным периодом (в миллисекундах).

-L период

Цикл с установленным периодом (в миллисекундах) с отображением статистических разниц между итерациями.

-m

Не добавлять в метаданные число операций ввода-вывода (точка монтирования файловой системы).

-v

Показать версии io-blk.so и файловой системы.

-z

Обнулить (сбросить) данные статистики после их считывания.

-Z


Обнулить (сбросить) данные статистики без их отображения.

Описание:

Утилита fsysinfo является внешним интерфейсом  для функции devctl(DCMD_FSYS_STATISTICS) (из <sys/fs_stats.h>), которая запрашивает статистику дисковой файловой системы. Эта статистика включает в себя данные операций чтения и записи разделов диска, эффективность внутреннего кэширования, число различных системных вызовов, выполненных с помощью кода пользователя и т.д.

По умолчанию текущая статистика отображается один раз. Также доступен режим цикла, в котором утилита выполняется циклично и повторно выводит статистику через заданный период времени (опция -l используется для вывода необработанных данных, а -L – для отображения разницы с прежними значениями). Для прерывания цикла нажмите Ctrl-C.

Статистику можно обнулить с помощью опции -z или -Z (-z показывает значения до сброса, а при применении опции -Z результаты не выводятся – эту опцию целесообразно использовать в сценариях).

При выборе опции -m утилита fsysinfo не объединяет статистику ввода-вывода для диска указанной файловой системы и устройства/раздела соответствующего хоста. Как правило, это требуется при использовании нескольких реализаций файловой системы, в которых обновление метаданных привязывается к устройству хоста, а не к определенному высокоуровневому файлу. (Например, при выборе опции -m изменения в файлах .bitmap и .inode в файловой системе fs-qnx4 не отображаются в смонтированной файловой системе как данные ввода-вывода.)

Выводится следующая информация:

Раздел

Статистика

Описание

FILESYS


Точка монтирования и тип файловой системы

MOUNT

mounted

Время монтирования файловой системы


elapsed

Время с момента последнего сброса статистики

DISK I/O

write

Количество физических операций записи в секторы устройства


read

Количество физических операций чтения из секторов устройства


r/a

Упреждающее чтение с устройства


direct

Секторы DCMD_FSYS_DIRECT_IO


bad

Поврежденные блоки

CACHE

write

Секторы с отложенной записью в кэш-память буфера (blk delwri= commit=)


read

Секторы, повторно прочитанные из кэш-памяти буфера


rate

Соотношение (CACHE read) : (DISK IO read + r/a)


wipe

Буферы, повторно использованные вне алгоритма замещения блока данных с наиболее длительным отсутствием обращений (Least Recently Used, LRU) для поддержания максимальной интенсивности использования (blk wipe=)


protect

Буферы метаданных при условии усиленного применения LRU (blk protect=)

SYSCALL

open

Количество вызовов функции open()


stat

Количество вызовов функции stat() или fstat() calls


namei

Количество преобразований путевых имен в файл


write

Количество вызовов функции write()


read

Количество вызовов функции read()


devctl

Количество вызовов функции devctl()

NAMES

exist

Имена известных файлов (без сканирования)


enoent

Имена несуществующих файлов (без сканирования)


misses

Файлы с неизвестными именами (требуется сканирование каталога)


unsuit

Имена файлов не подходящих для кэширования (слишком длинные или неоднозначные)


stale

Записи с устаревшим именем (демонтирована файловая система или повторно используется соответствующий виртуальный дескриптор)


rate

Соотношение (exist + enoent) : (misses + unsuit)

BMAP

hit

Известное отображение логического блока на физический


miss

Неизвестное отображение логического блока на физический


rate

Соотношение (hit) : (miss)

VNODES

create

Открытие неизвестного файла (необходима загрузка/построение виртуального дескриптора из файловой системы)


hit

Открытие известных или недавно использованных файлов


rate

Соотношение (hit) : (create)


lock/UC

Неочевидная/очевидная блокировка виртуального дескриптора


recycle

Повторное использование записи из кэш-памяти для нового файла (blk vnode=)

SLAB

map

Число страниц, отображаемых в подсистеме памяти динамического резервирования памяти


unmap

Число страниц, извлеченных из подсистемы памяти динамического резервирования памяти


активный

Разница между (map) − (unmap)


Эта информация используется для анализа эффективности различных типов кэшей io-blk.so, что может позволить точно определить значения опций командной строки драйвера (blk cache= ncache= map= vnode=).

Примеры:

Определение типов и количества дисковых операций, необходимых для выполнения действия:

# fsysinfo-Z/fs/hd/tmp

# cd /fs/hd/tmp

# rw -t150m -r8k

# fsysinfo /fs/hd/tmp

FILESYS /fs/hd (qnx4)

MOUNT mounted Wed Jul 18 20:39:44 2007 elapsed 18 secs

DISK I/O write 307874 read 282 r/a 307038

direct 0 bad 0

CACHE write 326473 read 331538 rate 51%

wipe 0 protec 1003

SYSCALL open 2 stat 1 namei 5

write 19200 read 19201 devctl 7

NAMES exist 3 enoent 2 misses 2

unsuit 0 stale 194 rate 71%

BMAP hit 38155 miss 501 rate 98%

VNODES create 1 hit 9 rate 90%

lock/U 38427 lock/C 0 recycl 1265

SLAB map 4041 unmap 24 active 4017

Контроль доступа к диску в режиме реального времени:

# fsysinfo -L500 /fs/hd

Эта команда выводит информацию, аналогичную приведенной выше, но с обновлением каждые 500 мс.