Почему большинство рекомендаций по ulimit требуют установки ограничений файлового дескриптора на 65535?

При поиске рекомендаций по настройке максимального дескриптора файла ulimit многие сайты рекомендуют установить размер файлового дескриптора 65535. В некоторых случаях это 100000, 120000 и даже больше. Некоторые из этих сообщений датируются 20-летней давностью.

Для некоторых сообщений я уверен, что это произвольное значение. Но, похоже, рекомендаций по этим значениям очень много, и 65535 в частности. Почему так много сообщений в блогах и документации по настройке сервера предлагают установить максимальное количество дескрипторов файлов примерно на 65535? На первый взгляд значение кажется произвольным. Это по историческим причинам?

1
задан 6 October 2020 в 23:42
1 ответ

Почти произвольно. Кто-то выбрал значение для рекомендации, и многие другие его скопировали.

Значения по умолчанию в тысячном диапазоне могут быть слишком малы для нескольких сотен файлов базы данных или нескольких тысяч почтовых буферов. Таким образом, 5 или 6 десятичных цифр могут быть подходящим порядком величины.

65535 — это 64 КБ, также известное как самое большое 16-битное число. И еще есть странное число 64000, которое вы можете увидеть, возможно, кто-то смешал двоичное и десятичное мышление. Это довольно много открытых файлов, но это не максимально возможное значение для современной системы.

Квалификатор «современные» системы, потому что, если вы вернетесь достаточно далеко назад, 64 КБ были пределом на некоторых платформах. Устаревший вызов функции HP-UX pstat_getfile() превысил 64k. Очевидно, что это не имеет отношения к Linux, но если нет необходимости идти выше, почему бы не оставить его ниже знакомого числа 64k?

1
ответ дан 6 October 2020 в 23:30

Теги

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