SSH Fails с ошибкой «Разрешение запрещено (пароль)»

Короткий ответ на ваш вопрос: столько, сколько возможно, как только он дает процессам то, что они могут использовать. Альтернативой является оставление памяти свободной, что является расточительством. Машина с 16 ГБ не может использовать 12 ГБ сегодня, чтобы завтра использовать 20 ГБ. Любая память, не используемая в эту секунду, - это потенциал для экономии ввода-вывода и других усилий, который навсегда потерян - вы не можете сохранить память на потом.

Если вы думаете: "Но мне нужна свободная память сейчас, чтобы я мог использовать ее позже", выбросьте эту чушь из головы. Вы можете использовать ее сейчас и использовать ее позже. Здесь нет никакого компромисса. На самом деле, если вы используете его сейчас, вы можете использовать его позже, просто ничего не делая. Если вы не используете его сейчас, вам придется потрудиться, чтобы использовать его позже. Таким образом, если вы используете его сейчас, это повышает вероятность того, что вы будете использовать его позже.

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

Например, предположим, что в вашей системе много свободной памяти, и вы запускаете top, а затем выходите из системы. У вашей системы есть два варианта. Она может сохранить программу top в оперативной памяти или отбросить содержащие ее страницы. Давайте рассмотрим оба варианта:

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

Если он сохранит страницы в оперативной памяти, и вы снова запустите top, ему не придется загружать проблему с диска. Это огромный выигрыш. И если память понадобится для какой-то другой цели, она может перейти непосредственно к этой цели, не прибегая к усилиям по использованию памяти и удалению ее из свободного пула.

Таким образом, страницы оперативной памяти будут оставаться в использовании, удерживая исполняемый файл. Это использование не связано ни с каким процессом, поскольку top не запущен. Но это не бесплатно, так как содержит данные, которые могут быть полезны. И это не накладные расходы - если память окажется полезнее для чего-то другого, ее содержимое можно просто выбросить, поскольку исполняемый файл может быть перенесен с диска, если потребуется.

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

Если вы смотрите на /proc/meminfo, то число, на которое вам, вероятно, следует обратить внимание, это MemAvailable. Оно объединяет как свободную память, так и память, содержащую информацию, которая может быть тривиально отброшена, если потребуется больше свободной памяти.

1
02.11.2018, 17:37
1 ответ

Я добавил PasswordAuthentication noк моему /etc/ssh/ssh_configна A!
После комментирования строки все заработало.

0
28.01.2020, 00:24

Теги

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