OpenBSD имеет предел количеству дескрипторов файлов?

В корневом каталоге обычно нет никаких файлов, таким образом, я предполагаю, что Вы хотите знать, сколько пространства используется в корневой файловой системе. Команда для этого df (свободный диск).

df -h /

Без аргументов, df предоставляет информацию об использовании для всех файловых систем (кроме некоторого специального предложения, non-disk-backed файловые системы, для которых это не важно).

Если Вы хотите знать, сколько пространства используется каталогом и его подкаталогами, которые не составляют полную файловую систему, используют du (использование диска).

7
13.12.2013, 01:15
2 ответа

Взгляд на исходный код, для получения значения по умолчанию макс. открытых файлов:

Хорошо зарегистрированный код

extern int maxfiles;                 /* kernel limit on number of open files */

maxfiles, на param.c определяет формулу к maxfiles

int maxfiles = 5 * (NPROCESS + MAXUSERS) + 80;

Хорошо, мы нашли его.

NPROCESS =

#define NPROCESS (30 + 16 * MAXUSERS)

MAXUSERS = - Позволяет, берут amd64 архитектуру в качестве примера:

machine         amd64
include         "../../../conf/GENERIC"
maxusers        80                      # estimated number of users

Позволяет суммируют весь материал:

maxfiles = 5 * ((30 + 16 * 80) + 80) + 80
maxfiles = 5 * ((30 + 1280) + 80) + 80
maxfiles = 5 * (1390) + 80
maxfiles = 6950 + 80
maxfiles = 7030

Для увеличения общего количества макс. открытых файлов необходимо будет, в первую очередь, увеличить макс. открытый предел ядра файлов с sysctl kern.maxfiles=20000 и увеличьте число файлов, которые процесс/пользователь может открыть, редактируя login.conf. Эта установка демона Скалистой вершины имеет оба примера для Вас.

5
27.01.2020, 20:17

Существует хороший шанс, что значения по умолчанию уже установлены на рыночную стоимость, которая будет поддерживать больше всего, если бы не все варианты использования, они были бы основаны на значениях, которые, как находят, были необходимы рабочим системам, используемым разработчиками OpenBSD и администраторами за эти годы разработки и использования. Я полагаю, что любые пределы были бы программно осуществлены и только действительно ограничены имеющимися ресурсами.

На FreeBSD у нас есть значения sysctl для kern.maxfiles и kern.maxfilesperproc - Я ожидаю, что OpenBSD будет иметь то же. Текущие пределы по умолчанию намного выше, чем они были всего несколько лет назад, поскольку большинство систем теперь имеет достаточно ресурсов, что у нас нет потребности ограничить их.

На моей настольной машине у меня есть maxfilesperproc в значении по умолчанию 18000 - я выполняю xfce4 с хромом, liferea, блендером, калекой, текстовыми редакторами и выполнением терминалов - PS показывает 215 процессов, и kern.openfiles в 2 683

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

4
27.01.2020, 20:17

Теги

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