/etc/security/limits.conf для установки программных ограничений в Linux

11711
Flavius Akerele

У меня есть следующее в /etc/security/limits.conf (я указал root отдельно, потому что * не будет включать его).

user2 - ядро ​​неограниченно * - ядро ​​0 корень - ядро ​​0 * - rss 512000 root - rss 512000 * - nproc 100 root - nproc 100 * - макслогинс 1 root - maxlogins 1 

Я запускаю программу под именем user2 (./programname), но / proc / 3498 / limit говорит, что ядра отключены:

Limit Soft Limit Жесткие лимиты  Максимальное время процессора неограниченное количество секунд  Максимальный размер файла неограничен, неограничен байт  Максимальный размер данных неограничен, неограничен байт  Максимальный размер стека 8388608 неограниченных байтов  Максимальный размер файла ядра 0 0 байт  Макс резидентный набор 524288000 524288000 байт  Макс обрабатывает 100 100 процессов  Максимальное количество открытых файлов 1024 1024 файла  Макс заблокированная память 65536 65536 байт  Максимальное адресное пространство, неограниченное количество байтов  Макс файл блокирует неограниченное количество неограниченных блокировок  Макс ожидающих сигналов 14001 14001 сигналов  Максимальный размер сообщения 819200 819200 байт  Макс хороший приоритет 0 0  Максимальный приоритет в реальном времени 0 0  Максимальный тайм-аут в реальном времени неограниченно нас 

Как ulimit -Sa, так и ulimit -Ha выводят, что ядра отключены:

основной размер файла (блоки, -c) 0 размер сегмента данных (в килобайтах, -d) неограничен приоритет планирования (-e) 0 размер файла (блоков, -f) неограничен ожидающие сигналы (-i) 14001 макс заблокированной памяти (кбайт, -l) 64 максимальный объем памяти (в килобайтах, -м) 512000 открыть файлы (-n) 1024 размер трубы (512 байт, -p) 8 Очереди сообщений POSIX (байты, -q) 819200 приоритет в реальном времени (-r) 0 размер стека (кбайт, -s) не ограничен время процессора (секунды, -t) не ограничено макс пользовательских процессов (-u) 100 виртуальная память (кбайт, -v) не ограничена файловые блокировки (-x) не ограничены 

Почему отключены ядра?

3
Что * точно * вы подразумеваете под "я запускаю программу от имени пользователя2"? Возможно, вы ожидаете, что эти ограничения будут навязываться магически - вам нужно запустить какую-то программу, которая навязывает их. David Schwartz 9 лет назад 0

2 ответа на вопрос

1
Jon Lin

Возможно, где-то есть профиль, с помощью которого настраивается оболочка user2 ulimit -c 0? Когда я запускаю bash без ulimit -cи проверяю процесс, который я запускаю, я вижу это:

Limit Soft Limit Hard Limit Units Max core file size 0 unlimited bytes 

Но когда я ulimit -c 0и запускаю процесс, я вижу это:

Limit Soft Limit Hard Limit Units Max core file size 0 0 bytes 

Вы пробовали установить ulimit -c unlimitedв конце файла оболочки пользователя user2?

0
Olli

Try the following order:

* - core 0 user2 - core unlimited root - core 0 

At least for some settings the order matters in limits.conf.

изменено по вашему предложению, перезапущено, но продолжает с той же проблемой. Flavius Akerele 13 лет назад 0

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