Как знать сколько файлов процесс, открытый эффективно?

Если RAID-контроллер официально будет поддерживать Вашу ОС затем, то это будет иметь ряд инструментов для контроля его. Им, вероятно, предоставили аппаратные средства, хотя также будет downloadabed с веб-сайта производителя.

Если Ваш RAID-контроллер полностью поддерживается Linux как RAID-контроллер (т.е. он рассматривает его как RAID-контроллер и не стандартный трясиной контроллер SCSI/SATA/PATA), Вы могут найти полезную информацию в/proc файловой системе и найти инструменты там, которые отображают/контролируют эту информацию для Вас. Если Вы знаете RAID-контроллеры, которые находятся в Ваших машинах, Вы могли бы хотеть добавить, что деталь к Вашему вопросу затем люди со специальными знаниями того контроллера могла бы заговорить с более определенной информацией.

Если у Вас не будет инструментов уровня ОС для контроля аппаратных средств, то необходимо будет перезагрузить машины и взаимодействовать с кодом конфигурации времени начальной загрузки RAID-контроллера.

1
задан 10 June 2010 в 17:18
3 ответа

Использовать ps -C <progname> -o pid= | wc -l где progname является названием процесса в a ps- список.

0
ответ дан 4 December 2019 в 02:03
  • 1
    Это дает количество процессов не количество открытых файлов. –  Paused until further notice. 10 June 2010 в 22:07
  • 2
    Извините, мое объяснение wasn' t достаточно конкретный. Как описано Andrew E. Falcon, это дескриптор файла PIDs. Вы видите, какой файл находится позади PID путем выполнения его тот путь: for pid in $(ps -C <progname> -o pid=); do ls -l /proc/$pid/fd; done –  weeheavy 14 June 2010 в 11:34

Существует интерфейс proc для открытых файлов:/proc/PID/fd/. Это - каталог символьных ссылок. Любые открытые сокеты, будет казаться, будут связаны с файлом, названным "сокет: [ЧИСЛО INODE]"

1
ответ дан 4 December 2019 в 02:03

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

Документация lsof описывает несколько методов, которые это называет, который может заблокироваться для нежелательного количества времени. Я предложил бы посмотреть на раздел BLOCKS AND TIMEOUTS lsof страницы справочника.

Вы могли бы попробовать следующее и видеть, обеспечивает ли это желательные результаты:

lsof -bwp $pid | wc -l
0
ответ дан 4 December 2019 в 02:03

Теги

Похожие вопросы