1

Я ищу инструмент, который может контролировать, близок ли процесс к максимально открытому файлу.

2 ответа2

2
lsof -p process-id

Со страницы руководства

Lsof перечисляет в своем стандартном выходном файле информацию о файлах, открытых процессами

[...]

       -p s     This option excludes or selects the listing of files  for  the
                processes  whose optional process IDentification (PID) numbers
                are  in  the  comma-separated  set  s  -  e.g.,   ``123''   or
                ``123,^456''.  (There should be no spaces in the set.)

                PID  numbers  that  begin with `^' (negation) represent exclu-
                sions.

                Multiple process ID numbers are joined in a  single  ORed  set
                before  participating  in  AND option selection.  However, PID
                exclusions are applied without ORing or ANDing and take effect
                before other selection criteria are applied.

[...]

       +|-r [t[m]]
                This option puts lsof in repeat mode.  There lsof  lists  open
                files  as selected by other options, delays t seconds (default
                fifteen), then  repeats  the  listing,  delaying  and  listing
                repetitively  until stopped by a condition defined by the pre-
                fix to the option.

                If the prefix is a `-', repeat mode is endless.  Lsof must  be
                terminated with an interrupt or quit signal.

                If  the prefix is `+', repeat mode will end the first cycle no
                open files are listed
0

запуск этого с правами root даст вам количество открытых файлов, открытых процессом с наибольшим количеством открытых файлов. Поскольку он на самом деле не следует по ссылкам в дереве процессов, он движется намного быстрее, чем lsof, и охватывает все выполняющиеся процессы на коробке. Однако его необходимо запускать с правами root.

find /proc/*/fd -type l -print | awk -F/ '{print $3}' | sort | uniq -c | sort -n | tail -1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .