Я посмотрел журналы из dropbox в моей системе, и я вижу сопоставимые различия.
Когда я смотрю подробно на отдельные журналы, я обнаруживаю, что в dropbox показано 400 файлов, открытых с помощью lsof -p , и 23500, открытых с помощью ls ... | grep '^dropbox'
Глядя на длинный список, я обнаружил, что dropbox имеет 60 потоков, и большинство из базовых 400 файлов представлены в каждом потоке, что объясняет разницу.
Что я не знаю, так это то, находятся ли дескрипторы файлов в потоках в разделяемой памяти или индивидуально для потоков. Дескрипторы файлов в общей памяти не должны учитываться более одного раза в лимите открытых файлов.
Моя команда для подсчета потоков была:
lsof -n | grep "^dropbox " | awk '{print $3}' | uniq | wc -l
Если ваше приложение ведет себя аналогично, то нижняя цифра является реалистичной.
Обратите внимание, что все цифры являются приблизительными: я проигнорировал, когда строки заголовков включены в счетчики и включение основного PID в счетчик потоков. Поскольку отчеты ls относятся к разным временам, они никогда не могут быть полностью согласованы.