Ищу сценарий dtrace для отображения списка наиболее часто используемых файлов nfs

В настоящее время я использую https://github.com/siebenmann/cks-dtrace/blob/master/nfs3-mon.d для определения наиболее активных наборов данных на нашем сервере NFS (Solaris 10)

К сожалению, мне нужно копать глубже, и я хотел бы иметь возможность отслеживать наиболее часто используемые файлы. Есть ли способ перечислить топ X файлов для различных операций?

Я не Dtrace Guru и не смог найти ответ в течение нескольких часов..

1 ответ

Документы для поставщика NFS DTrace довольно хороши на веб-сайте Oracle. Сценарии, которые выглядят особенно полезными для вас, nfsv3fileio.d или (чтобы получить намного больше данных, которые вам, возможно, придется обработать) nfsv3rwsnoop.d,

Предполагая, что вы имеете в виду "наиболее часто используемые", как и "наибольшее количество операций чтения / записи", и вам не важно соотношение между теми, кто их выполняет, простой скрипт для печати имен файлов и количества операций ввода-вывода для каждого из них. является:

nfsv3:::op-read-start, nfsv3:::op-write-start {
     @[args[1]->noi_curpath] = count();
}

tick-10sec {
    printa(@);
    trunc(@);
}

(Я не запускал это, потому что у меня нет настроенных общих ресурсов NFS, но я думаю, что это будет работать.) Подводя итог, что он делает:

  1. nfsv3:::op-{read|write}-start являются событиями, которые запускаются, когда чтение или запись начинается на общем ресурсе NFSv3. Каждый раз, когда происходит одно из этих событий, событие получает аргумент args[1] который содержит переменную noi_curpath, который дает путь к файлу (если имеется; иногда он не кэшируется, поэтому вы ничего не получаете). Мы используем это как ключ, и используем count() раз это происходит как значение на карте с именем @,
  2. tick-10sec это событие, которое срабатывает каждые 10 секунд, начиная через 10 секунд после запуска сценария. Сначала печатает карту с printa(), а затем очищает значения в нем с trunc() поэтому мы получаем свежие данные для следующих 10 секунд.
Другие вопросы по тегам