it-swarm.com.ru

Сколько памяти может использовать VM

Я прочитал документ Понимание виртуальной памяти и в нем говорится, что один из способов изменения настраиваемых параметров в Linux VM была команда:

sysctl -w vm.max_map_count=65535

Я хочу знать, что означает число 65535 и сколько памяти может использовать vm при настройке.

47
solomon_wzs

От документация по ядру Linux :

max_map_count:

Этот файл содержит максимальное количество областей карты памяти, которые может иметь процесс. Области карты памяти используются как побочный эффект вызова malloc непосредственно mmap и mprotect, а также при загрузке общих библиотек.

Хотя большинству приложений требуется менее тысячи карт, некоторые программы, в частности отладчики malloc, могут потреблять большое их количество, например, до одной или двух карт на выделение.

Значение по умолчанию - 65536.

Итог: этот параметр ограничивает количество областей дискретной отображаемой памяти - сам по себе он не накладывает никаких ограничений на размер этих областей или на память, используемую процессом.

И да, это:

sysctl -w vm.max_map_count=65535

это просто лучший способ написать это:

echo 65535 > /proc/sys/vm/max_map_count
81
thkala
echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

sysctl -p
8
田咖啡