Linux memory mapped files

Подобные проблемы возникают время от времени (не только у nvidia) и иногда имеют решение: обновление до последней (предположительно лучшей) версии. Некоторые люди переходят на новый драйвер с "открытым исходным кодом" (не обязательно лучший, но другой - ваш пробег может варьироваться).

Дальнейшее чтение:

1
31.05.2018, 16:46
2 ответа

Посмотрите на разницу между виртуальной и физической памятью.

Многие процессы могут отображать одну и ту же физическую память. Если 10 процессов сопоставляют один и тот же файл, то в оперативной памяти будет кэшироваться не более одной копии.

Если память не -разделяемая, то если один процесс изменяет ее, то эта одна страница (с изменением ), дублируется перед фиксацией записи. (Таким образом копируется не вся память. Это называется копированием при записи или COW ).

Файл с отображением памяти — это когда вы просите ОС отобразить файл в памяти. Он не загружает файл, пока вы не начнете чтение/запись, а затем только то, что необходимо. Отображение памяти — это просто другой интерфейс для чтения/записи/поиска/и т. д. Вы также можете получить доступ к памяти через чтение/запись/поиск.

Так как же это делается?

Это делается путем осознания того, что некоторые вещи одинаковы. :То есть подкачка и файлы одинаковы; и оперативная память и файловый кеш одинаковы. Поэтому, когда вы открываете файл, он отображается как своп (, не беспокойтесь, он не будет использоваться для свопинга других вещей ). Когда вы начинаете чтение, генерируется ошибка сегмента -, и ОС подставляет ее из файла (. Исключение (ошибка сегмента -)обрабатывается ОС, поэтому не передается процесс)(на самом деле это не ошибка сегментации, это ошибка страницы ). Неважно, какой интерфейс вы используете, память или файл. Это просто интерфейсы поверх одной и той же функциональности.

2
28.04.2021, 23:46

Sí, por el manual delsof:

   FD         is the File Descriptor number of the file or:

                   cwd  current working directory;
                   Lnn  library references (AIX);
                   err  FD information error (see NAME column);
                   jld  jail directory (FreeBSD);
                   ltx  shared library text (code and data);
                   Mxx  hex memory-mapped type number xx.
                   m86  DOS Merge mapped file;
                   mem  memory-mapped file;
                   mmap memory-mapped device;
                   pd   parent directory;
                   rtd  root directory;
                   tr   kernel trace file (OpenBSD);
                   txt  program text (code and data);
                   v86  VP/ix mapped file;

Solo si está mapeado en modo no -compartido y cualquier proceso escribe en la memoria virtual que requeriría más de una copia del archivo en la memoria física. De lo contrario, si no se escribe (, lo cual no creo ), los datos ni siquiera tienen que ocupar la memoria física antes de que cualquier proceso lea la memoria.

2
28.04.2021, 23:46

Теги

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