Получают ли регулярные чтения преимущества от mmap?

Если я использую mmap для некоторого файлового дескриптора fd, будут ли регулярные вызовы read () быть «осведомленными» о том, что есть отображение памяти в файл и чтение из памяти напрямую?

Что делать, если mlock () используется после mmap (). Правильно ли утверждать, что никакое последующее чтение () в файле никогда не понадобится для доступа к диску?

One Solution collect form web for “Получают ли регулярные чтения преимущества от mmap?”

Я думаю, это зависит от того, что вы подразумеваете под «осознанием».

Поскольку системный вызов read() является запросом к ядру, чтобы скопировать содержимое файла, начиная с текущей позиции, в указанный буфер памяти программы, read() в обычном файле выполнит эту задачу так же, как или не существует одновременно сопоставление памяти файла. Нет «осознания».

Теперь это файл как mmap() ed, так и read() , может быть достигнута оптимизация производительности. Например, если файл сначала read() , то разделы файла, которые были прочитаны, вероятно, уже находятся в кеше страницы, и впоследствии доступ к карте памяти не будет иметь к ним доступ снова с диска. Или, наоборот, если есть отображение памяти, которое уже было выгружено, последующее read() больше не нужно будет возвращать на диск. Таким образом, в этом смысле вы можете в некотором смысле рассмотреть mmap() и read() «осознавать» друг друга.

  • Поведение памяти mmap'd на давление памяти
  • OOM от итерации по очень большой карте памяти
  • Linux Swap Space
  • Ext4 демонстрирует неожиданную дисперсию латентности записи по сравнению с ext2
  • mmap / dev / random
  • Использование общей памяти через tmpfs и NUMA на x86_64 / Linux
  • Поддержка файлов, блокировка разделяемой памяти и диска
  • proc / sys / vm / flush_mmap_pages отсутствует в ядре 3.9, как его получить?
  • Сомнение о mmap
  • Interesting Posts

    В чем проблема с этим скриптом для изменения обоев?

    Как полностью заблокировать панель GNOME?

    Поиск имени пользователя в файле и вывод номера телефона пользователя

    проблема поиска g ++-программы, несмотря на то, что она установлена

    Как глобально настроить безопасные клиенты с помощью OpenSSL на Oracle Linux 5 / RHEL 5?

    обработка родительского и дочернего сигналов bash

    Отключение переменной среды с пустым именем

    Ноутбук со встроенной и дискретной картой

    Предотвращение расширения параметра несколько раз

    Постоянно проверяйте, изменен ли файл bash

    Замена процесса и cat: невозможно прочитать stdin

    Cinnamon разбился после установки драйверов nvidia

    Почему общие свопы и ошибки / исправления страниц пуст в ps?

    Fusermount монтажный каталог SSHFS работает вручную, но не автоматически?

    Привязка / развязка графического процессора между ОС хоста и pci-заглушкой во время работы хост-системы

    Linux и Unix - лучшая ОС в мире.