Для fs.file-max
, я думаю, что почти во всех случаях вы можете просто оставить это в покое.Если вы используете какой-то очень загруженный сервер и на самом деле не хватает файловых дескрипторов, то вы можете увеличить его, но значение, на которое вам нужно увеличить его, будет зависеть от того, какой именно сервер вы используете и какова нагрузка.на это есть.В общем, вам просто нужно увеличить его, пока у вас не закончатся файловые дескрипторы, или пока вы не поймете, что вам нужно больше памяти или больше систем для обработки нагрузки.Выигрыш от "настройки" вещей за счет уменьшения file-max ниже значения по умолчанию настолько минимален, что об этом не стоит думать - мой телефон работает нормально со значением fs-max 83588.
Кстати,современное ядро уже использует эмпирическое правило для установки file-max в зависимости от объема памяти в системе;от fs/file_table.c
в ядре 2.6:
/*
* One file with associated inode and dcache is very roughly 1K.
* Per default don't use more than 10% of our memory for files.
*/
n = (mempages * (PAGE_SIZE / 1024)) / 10;
files_stat.max_files = max_t(unsigned long, n, NR_FILE);
и files_stat.max_files
- значение fs.file-max
;в конечном итоге это будет около 100 на каждый 1 МБ оперативной памяти.
Конечно, ограничения касаются ограничения ресурсов, выделяемых пользователями или процессами.Если у вас несколько пользователей или другая подобная ситуация, вы можете решить, как вы хотите разделить системные ресурсы и ограничить использование памяти, количество процессов и т. Д. Окончательное руководство по деталям установленных ограничений - * 1012.* man-страница setrlimit (и, конечно, исходный код ядра).