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

Получить путь к открытому файлу из вывода pfiles

Мы обнаружили проблемы с производительностью в процессе Solaris 10 и наблюдали слишком много операций записи в дескриптор 268 с использованием truss.

У нас нет lsof под рукой, но вот отрывок из pfiles вывод:

 [...]
 268: S_IFREG mode:0644 dev:321,11003 ino:13621 uid:101 gid:105 size:100014416
      O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE
 [...]

Есть ли способ узнать реальный путь к файлу из этой информации?

Спасибо.

В я не value - это индексный дескриптор файла в файловой системе, в вашем случае 13621, чтобы вы могли использовать find's -inum так (где $ filesystem_name - файловая система на вашем компьютере:

find /$filesystem_name -inum 13621

Inodes уникальны для каждой файловой системы, поэтому, если у вас несколько файловых систем, вы можете проверить их по отдельности.

В сети есть несколько хороших скриптов dtrace для поиска активности в файловых системах:

http://forums.sun.com/thread.jspa?threadID=5075136

Путь к файлу должен появиться сразу после опубликованной вами строки. Если его там нет, скорее всего, он был удален раньше.

Вы можете найти вызов open (), который привел к дескриптору файла 268, и посмотреть, с какими параметрами он был вызван.

Я не знаком с особенностями файловой системы / proc Solaris, но в / proc / fd / под Linux есть список открытых файловых дескрипторов и того, что они открывают; Если в Solaris есть что-то подобное, это может помочь.