Назад | Перейти на главную страницу

Как заставить скрипты nfsv3 * DTrace работать в OpenIndiana?

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

на OpenIndiana

скрипты DTrace:

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

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

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

<unknown>

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

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

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

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