Новости:

Форуму исполнилось 12 лет!

Появилась ссылка на архив (до 16.06.2020 г.) форума и вики slackware.ru .
Владельцы и(или) правообладатели сайта slackware.ru могут со мной связаться
и я уберу ссылку по их первой же просьбе. По ссылке не работает поиск и, естественно, логин с регистрацией. Поэтому, всё только для чтения.

Главное меню

ограничение памяти

Автор kot, 01 февраля 2013, 10:57:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kot

допустим, у меня сервак с 8 Гб ОЗУ и 10 Гб свопом.
как мне ограничить общую потребляемую память программами 12 Гб ?
желательно в слаке 14 64 бит.

Graf

#1
Можешь осторожненько поиграть с ulimit :)

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15764
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15764
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


Обычно, все ограничения прописываются в файле /etc/profile

-S   изменяет и сообщает гибкий предел, связанный с источником (по умолчанию, если не дана опция -H).
-H  изменяет и сообщает жёсткий предел, связанный с источником.
-a   сообщает все текущие пределы.
-с   максимальный размер созданного файла оперативной памяти.
-d   максимальный размер сегмента данных процесса.
-m  максимальный размер резидентного набора.
-s  максимальный размер стека.
-t  максимальное время cpu в секундах.
-f  максимальный размер файла, созданного оболочкой.
-p  максимальный размер канального буфера.
-n  максимальное число открытых файловых дескрипторов.
-u  максимальное число процессов, доступных отдельному пользователю.
-v  максимальное количество виртуальной памяти, доступное процессу.

ulimit -f 1000     # ограничит размер вновь создаваемых файлов одним мегабайтом.
ulimit -c              # ограничивает размер файлов coredump
ulimit -c 0           # запретит создание coredump-файлов.
ulimit -Hu XX      # где XX верхний предел количества процессов, которые может запустить пользователь одновременно.
ulimit -n 10240  # увеличит кол-во открытых файлов c 1024 до 10240 (Команда верна только в оболочке).