Этот вопрос предназначен для понимания ограничений вида, применимых для файла Mem-Mapped в среде unix.Unix: файлы с отображением памяти, применимые ограничения?
У нас есть APP, работающий в среде unix, который размещает и обслуживает файлы с Mem-отображенными файлами Key-Value с доступом только для чтения, также может обновляться во время выполнения при копировании новой версии файла (probabaly with more пары ключ-значение).
Что я наблюдаю, так как файл Mem-Mapped, так как мы обновляем файл с более важными парами. Потребление памяти VIRT увеличивается с небольшим потреблением RES Mem.
PID PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12948 16 0 43240 9936 2996 S 0.0 0.1 0:00.00 lookup_server
12951 16 0 562m 16m 9972 S 0.0 0.1 0:00.09 lookup_server
Как я понимаю, это происходит потому, что весь файл копируется в виде виртуальных страниц памяти в жестком диске, и только несколько страниц, которые востребованы в ВИЭ мем.
ли мои предположения правильно, что
- с Mem-Mapping файлами, размер файла не ограничен доступной физической памятью, так как файлы будут выгружаться в/из операционной системы по требованию.
- и ограничивающим фактором может быть дисковое пространство, настроенное для виртуальной памяти. В этом случае, как я могу определить дисковое пространство, идентифицированное ОС для расширения виртуальной памяти? где хранится ли стоп-память виртуальной памяти файла в жестком диске?
стремится знать, ограничена ли виртуальная память дисковым пространством, и где на диске unix хранит страницы виртуальной памяти? – Shashi