Подкачка Linux на перезагрузке

Как приложение к предыдущему ответу, настройки Nvidia только записывают те атрибуты, связанные с X экранами в файле конфигурации. Существуют дополнительные настройки, которые могут относиться к другим компонентам; они не сохраняются.

Если Вы смотрите, все атрибуты в файле конфигурации снабжаются префиксом {host}:0.0. Другие атрибуты, которые могут быть установлены, связаны с GPU и т.д.

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

nvidia-settings --assign :0[gpu:0]/OverscanCompensation[DFP-1]=80

Обратите внимание, что название атрибута включает спецификацию GPU.

К счастью, SyncToVBlank находится в файле конфигурации, поэтому просто загружение его должно установить его для Вас. Если Вы выполняете команду nvidia-settings --query all это перечислит все атрибуты и цели к который применение.

3
07.12.2013, 21:52
2 ответа
  1. Ваш курс, вероятно, покрыл различия между кэшем L1/L2 и регистрами; с иерархией регистров, L1, L2, L3, RAM. Точно так же как Вы отмечаете, можно рассмотреть подкачку как освобожденное пространство, к которому выгружается RAM.
  2. Подкачка может быть персистентной, в зависимости от конфигурации системы. Некоторые дистрибутивы Linux сознательно стирают/обнуляют подкачку на начальной загрузке или завершении работы по причинам производительности или безопасности. При выполнении подкачки на SSD может быть выгодно выйти TRIM/DISCARD на блоке области подкачки, когда содержание копируется назад в RAM. Нет никакого определенного инструмента для очистки подкачки кроме разрешения ядру снова использовать пространство (если это освобождается и только пишет в него, это не заботится о том, что было там прежде). Другая общая парадигма должна зашифровать подкачку с новым ключом на каждой начальной загрузке и затем просто удалить ключ на завершении работы.
  3. Вы не можете получить доступ к контенту подкачки непосредственно от ядра. Вы могли обойти нормальный процесс памяти и попытку считать его как диск, но Вы обычно не знаете о том, где или даже если какая-либо часть Вашего процесса находится в подкачке.
1
27.01.2020, 21:31

Область подкачки является частью диска, это используется для хранения дополнительного содержания от памяти. Так как это хранится на диске, это не стирается, когда питание выходит (в отличие от содержания RAM). Однако, когда начальные загрузки системы, это не читает назад ничего, что было сохранено в подкачке — данные, там не непосредственно применимо, так как это принадлежит программам, которые больше не работают.

Ядро использует область подкачки для хранения некоторых данных, которые обычно хранились бы в RAM. Данные не могут использоваться непосредственно, в то время как это находится на диске, таким образом, это должно быть загружено назад в RAM, когда это используется. Точка подкачки должна позволить системе использовать больше памяти, чем доступно в одной только RAM. Ядро начинает выписывать части содержания RAM для свопинга, когда Использование оперативной памяти становится высоким.

Данные, которые находятся в области подкачки, остаются, пока это не перезаписывается новыми данными. Главным образом та информация неприменима, потому что она также фрагментировала и неравнодушный. Однако, если конфиденциальная информация записана для свопинга, это может быть угроза безопасности — все это, взятия для одного ключа, который будет записан там. Таким образом, если существует риск, что Ваш жесткий диск украден, необходимо зашифровать область подкачки.

Linux может использовать область подкачки для спящего режима системы. В этом случае это выгружает все процессы (и не только некоторые страницы по мере необходимости, поскольку обычно имеет место), и пишет дополнительные данные в область подкачки, которые позволяют ядру восстанавливать полное расположение памяти на следующей начальной загрузке. Кроме того, информация хранится в другом формате (в большинстве конфигураций, изображение спящего режима сжато).

Подкачка абсолютно очевидна для процессов. Процесс не знает, выгружено ли конкретное местоположение в памяти, оказывается, было. В то время, когда процесс получает доступ к ячейке памяти, то местоположение всегда находится в RAM. Можно читать из раздела подкачки непосредственно, но Вы не можете сделать ничего полезного тот путь.

0
27.01.2020, 21:31
  • 1
    IIRC, там вызовы ядра для маркировки данных, как являющихся чем-то, что никогда не должно выгружаться. gnome-keyring делает это. –  strugee 09.12.2013, 05:16
  • 2
    @strugee Да, mlockСогласно пределу для каждого процесса. –  Gilles 'SO- stop being evil' 09.12.2013, 12:25

Теги

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