Как получить скрипты nfsv3* DTrace, работающие на OpenIndiana?

Отсюда http://wikis.sun.com/display/DTrace/nfsv3+Provider

на OpenIndiana

сценарии DTrace:

  • nfsv3io.d
  • nfsv3ops.d

терпят неудачу с:

probe description nfsv3:::op-* matches an unstable set of probes

Скрипт nfsv3fileio.d работает, но одна из строк с очень большими Rbytes и Wbytes имеет Pathname как

<unknown>

Кто-нибудь знает какие-либо подробности об этих сбоях и какие обходные пути?

1 ответ

Первый скрипт завершается ошибкой, потому что пример неверен. Вы не можете ссылаться args[] в то же время, подвигая зонд таким образом (поскольку зонды, соответствующие шаблону, могут приходить и уходить, пока разрешающее действие все еще действует, таким образом, гарантируется тип args[N] не может быть сделано). Вам нужно перечислить каждый nfs3-op-* индивидуально, через запятуюnfs3:::op-read-start,nfs3:::op-write-start и т. д. для каждой операции, которая вас волнует.

За nfsv3fileio.d Rbytes и Wbytes для "unknown" очень велики, потому что они представляют собой сумму всех операций ввода-вывода по неизвестным путям (возможно, несколько, возможно, много).

Пути <unknown> потому что ядро ​​только лениво хранит информацию о пути во vnode (если оно присутствует, оно сохраняется, но активно не ищется). И как таковой не всегда доступен. Есть трюки, которые иногда заставляют его встать на свои места (кажется, я помню, что find через ФС, о которой идет речь, следует это делать, но моя память могла бы подшучивать).

Другие вопросы по тегам