Что такое разумная сумма часов inotify с Linux?

Короткий ответ заключается в том, как работает представление 2-дополнения : старший бит является по сути знаковым битом, поэтому 1 означает -. Другими словами, вы должны вычесть из суммы

A5*(B4 B3 B2 B1 B0) << 5

и

B5*(A4 A3 A2 A1 A0) << 5

из суммы (обратите внимание, что A5*B5 добавляется снова, потому что оба имеют одинаковый знак -). И эти два 1 являются результатом замены этих двух вычитаний дополнениями -X.

Если вам нужно больше подробностей, то вам, вероятно, просто нужно перечитать, как работают 2-х дополнения, а затем всю математику, лежащую в основе алгоритма умножения Боуг-Вули. Это не так сложно.

39
задан milleniumbug 20 July 2018 в 06:13
поделиться

2 ответа

Можно найти системные пределы путем чтения /proc/sys/fs/inotify/max_user_instances (максимальное количество inotify "объекты") и /proc/sys/fs/inotify/max_user_watches (максимальное количество наблюдаемых файлов), поэтому при превышении тех чисел это - слишком многие ;-) Максимальное количество часов обычно является несколькими десятками тысяч или выше - в моей системе, 262143 - который является, вероятно, больше, чем Вам когда-либо было бы нужно, если Вы не пытаетесь наблюдать каждый файл в файловой системе, но Вы не должны делать этого. Я сказал бы, просто попытаться не использовать больше часов inotify, чем Вы должны и не волнуетесь об этом, если Вы не замечаете значительное уменьшение в производительности.

23
ответ дан 27 November 2019 в 02:41
поделиться

100 миллиардов триллионов огромного количества были бы слишком многими, вероятно. Ядро Korner - Введение к inotify упоминает “thousands watches” настолько, по крайней мере, что число не должно быть проблемой.

5
ответ дан 27 November 2019 в 02:41
поделиться
Другие вопросы по тегам:

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