Почему VmRSS сообщается о несовместимости при использовании mmap?
463
Matthieu M.
Одно приложение, которое у нас есть, объединяет два элемента:
- он выделяет сегмент памяти 707 МБ, используя
mmap(0, sizeof(T), PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, -1, 0)
. - он сообщает об использовании собственной памяти, анализируя
/proc/self/status
и извлекая значениеVmRSS
поля.
К сожалению, сообщаемая память несовместима между запусками процесса. Например, через два последовательных прогона на одном компьютере:
- первые сообщенные 971956224 байта, или 927 МБ, поддерживаются в течение 8 минут,
- второй сообщил о 230174720 байтах или 220 МБ, поддерживаемых в течение 8 минут.
Разница: 741527552 байта, или ~ 707 МБ, о размере нашего mmap
сегмента.
mmap
Сегмент систематически выделяются, и выделение сразу за которым следует memset
из 0xfe
заставить ОС совершать память и избежать более поздних ошибок страницы.
Непоследовательность:
- RSS сообщает о 220 МБ, когда процессу всегда выделяется 707 МБ.
- RSS сообщил о мерцании между 220 МБ и 927 МБ между последовательными запусками.
Последовательная:
- Сообщаемая RSS является относительно постоянной в течение всего жизненного цикла процесса, варьируется только на пару МБ и включает либо 707 МБ, либо нет.
Почему VmRSS сообщается о несовместимости при использовании mmap?
На конкретной машине, когда этот пробег был сделан:
$ rpm -q centos-release centos-release-7-2.1511.el7.centos.2.10.x86_64
Тем не менее, другие машины с немного другими версиями Centos демонстрируют то же поведение.
Коллега заметил, что это может повлиять на то, поддерживается ли сегмент `mmap` файлом или нет; хотя не мог объяснить, почему он иногда поддерживается файлом на заданной машине.
Matthieu M. 5 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
6
Нужно ли иметь 3 модуля памяти DIMM для использования DDR3 или даже иметь возможность запуска 3-кана...
-
4
Файловая система Linux