Вопрос по linux-kernel – Сколько памяти может использовать vm

44

Я прочитал документUnderstanding Virtual Memory и он сказал, что один метод для изменения настраиваемых параметров в виртуальной машине Linux был командой:

sysctl -w vm.max_map_count=65535

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

я думаю, что это не может сказать 256 МБ просто здесь, потому что в моей системе vm.max_map_count = 65535, но мой erlang vm использовал около 8 ГБ памяти, и это было нормально solomon_wzs
Он не определяет напрямую, сколько памяти может использовать процесс. Процесс может выделять память, скажем, кусками по 64 КБ или кусками по 256 КБ, используя 4x разной общей используемой памяти. vm.max_map_count контролирует только количество этих кусков .. Tagar
Предположим, что это источник статьи, о которой я упоминал выше.Source - я не совсем понял, что вы имеете в виду в приведенном выше комментарии TheNewOne
Привет, нашел что-то здесь -Article там написано 256MB. TheNewOne
Я знаю, что 65535 является значением по умолчанию, я хочу знать, как рассчитать реальную память, которую может использовать vm solomon_wzs

Ваш Ответ

2   ответа
5
echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

sysctl -p
74

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

max_map_count:

This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap and mprotect, and also when loading shared libraries.

While most applications need less than a thousand maps, certain programs, particularly malloc debuggers, may consume lots of them, e.g., up to one or two maps per allocation.

The default value is 65536.

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

И да, это:

sysctl -w vm.max_map_count=65535

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

echo 65535 > /proc/sys/vm/max_map_count
Похоже, я неправильно истолковал vm.max_map_count solomon_wzs
возможно дополнительная интересная информация:ynuxtechblog.wordpress.com/2016/01/05/…
Не могли бы вы объяснить, какие могут быть негативные последствия при увеличении дефолта?

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