Есть ли какие-либо отношения между фрагментацией памяти и включена ли подкачка в системе?

id_rsa.pub открытый ключ и не должен быть защищен вообще. На самом деле это должно быть опубликовано для работы. Я предполагаю, что Вы на самом деле говорите о id_rsa (закрытый ключ) в этом вопросе.

Вы, конечно, не должны генерировать новый ключ SSH каждый раз, когда Вы находитесь на новом компьютере или переустанавливаете свою ОС. Можно скопировать тот файл от одного компьютера до другого. Или, если Вы находитесь временно на другом компьютере, где Вы не хотите хранить свой ключ, можно войти в систему удаленно компьютера, где ключ снабжен ssh -A и загрузите ключ в свой локальный агент с ssh-add. (Необходимо только сделать это при доверии корню на компьютере, Вы временно используете.)

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

Если копирование файла вручную от одного компьютера до другого не удобно для Вас, можно сохранить SSH, вводят облако (GitHub или иначе). Лично, я предпочел бы не.

Я предполагаю, что Вы означаете использовать частный репозиторий GitHub с этой целью. Хотя ключ SSH с паролем должен быть бесполезным любому без пароля, необходимо все еще сохранить зашифрованный ключ себе, в случае, если кто-то когда-либо получает Ваш пароль.

Править: Больше на совместном использовании id_rsa

Даже при том, что id_rsa неприменимо любому, кто не обладает паролем, который идет с ним, Вы все еще не должны совместно использовать его.

Ключ SSH можно считать видом подобных формой двухфакторной аутентификации. id_rsa файл - Что-то, что Вы Имеете. Пароль - Что-то, что Вы Знаете. Только вместе они полезный. Я говорю "вид подобных", потому что Вы на самом деле не несете вокруг id_rsa файл с Вами, как Вы были бы с Чем-то, у Вас Есть компонент реальной системы аутентификации с 2 факторами.

Не совместное использование id_rsa файл обеспечивает некоторую защиту в случае, если Ваш пароль показан кому-то еще. Если это происходит, необходимо определенно отменить ключ, но по крайней мере существует шанс, что взломщик ничего не может сделать, если они не могут получить копию id_rsa.

8
13.04.2017, 15:36
1 ответ

Обмен позволяет перемещать физические страницы в том смысле, что страница, используемая для одной цели, может заменять свое содержимое, а затем использоваться для другой цели.

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

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

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

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

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

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

Добавление подкачки не влияет на объем виртуальной памяти приложения. В конце концов, в этом и смысл свопа - он прозрачен для приложений.

Однако возможно, что добавление свопа к машине будет иметь косвенное влияние на фрагментацию в пространстве виртуальной памяти приложения. Если в системе не хватает виртуальной памяти, приложению придется довольствоваться тем, что у него есть. Если приложение использует большую часть памяти, выделенной из операционной системы, это со временем вызовет фрагментацию внутри этого пространства, так как небольшие блоки будут освобождены то тут, то там. Если у приложения больше виртуальной памяти (часть которой выгружена), это дает диспетчеру памяти больше пространства для маневра и, таким образом, снижает риск того, что приложению не хватит памяти, с тремя отдельными блоками по 2 КБ, доступными, когда ему нужен один 4кБ объект.

3
27.01.2020, 20:13

Теги

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