if ($answer_counter == 1): ?>
endif; ?>
Потому что большинство считают, что swapping = bad, и если вы не уменьшите swappiness, система будет меняться, когда это действительно не нужно. Ни то, ни другое не правда. Люди связывают смену со временем, когда их система становится увязшей - однако, это в основном свопинг , потому что система увязнет, а не наоборот. Когда система свопит, она уже учтет стоимость исполнения в своем решении об обмене и решила, что это не приведет к большему общему снижению производительности или стабильности системы, которые впоследствии могут стать заметными.
В целом настройки по умолчанию приводят к хорошей общей производительности и стабильности. Я бы рекомендовал оставить его по умолчанию. Есть улучшения, которые могут быть сделаны в отношении того, как swap работает на настольных / интерактивных системах, но в целом контроль swappiness не является лучшим решением - отрегулируйте его в одном направлении, и вы можете исправить одну проблему и создать другие проблемы. Он бледнеет по сравнению с простой установкой большего объема оперативной памяти.
Как Linux использует оперативную память
Любая ОЗУ, которая не используется приложениями, может использоваться как «кеш». Кэш очень важен для быстрой и плавной работы системы, ускоряя чтение и запись на диск.
Если ваши приложения увеличивают использование своей памяти до такой степени, что они используют почти всю вашу RAM, ваш кеш будет уменьшаться, а средние дисковые операции замедлятся в результате.
Если приложения увеличивают использование своей памяти еще больше - если у вас нет места подкачки, в конечном итоге у вас не хватит памяти, и вашей системе придется убивать процессы. Процессы убийства хуже замедления, так как это приводит к нестабильности.
Как Linux использует swap
Чтобы справиться с обеими этими проблемами, ваша система может перераспределить некоторую редко используемую прикладную память на место подкачки на вашем диске, освободив больше оперативной памяти. Это может помешать процессам гибнуть из-за нехватки памяти и может восстановить небольшой кеш, поэтому операции с дисками могут работать плавно.
Это перераспределение не выполняется в соответствии с определенным обрезанием. Вы не достигаете определенного процента распределения, тогда Linux начинает замену. Он имеет «нечеткий» алгоритм. Это учитывает много вещей, которые лучше всего можно описать словами «сколько давления для распределения памяти». Если есть много «давления», чтобы выделить новую память, это увеличит шансы, что некоторые будут заменены, чтобы сделать больше места. Если есть меньшее «давление», это уменьшит эти шансы.
В вашей системе есть параметр «swappiness», который поможет вам настроить, как рассчитывается это «давление». Обычно не рекомендуется изменять это вообще. Переключение в целом - очень хорошая вещь - любые случайные штрафные санкции предназначены для компенсации за счет общей реакции системы и стабильности для широкого круга задач. Если вы уменьшите swappiness, вы позволите уменьшить объем памяти кэш-памяти немного больше, чем в противном случае, даже если это действительно может быть полезно. Поэтому вы рискуете замедлить работу компьютера в целом. Если вы зашли так далеко, чтобы полностью отключить подкачку, вы рискуете потерять процессы из-за невозможности выделения памяти.
Что происходит, когда система увязывается и сильно меняет местами?
Подкачка является медленной и дорогостоящей операцией, поэтому система избегает ее, если она не подсчитает, что компромисс в производительности кэша будет компенсировать ее в целом, или если это необходимо, чтобы избежать убийства процессов.
В большинстве случаев люди будут смотреть на свою систему, которая сильно разбивает диск и использует большое количество подкачки и обвиняет их в замене. Это неправильный подход. Если подкачка когда-либо достигает этой крайности, это означает, что замена является попыткой вашей системы справляться с проблемами с низкой памятью, а не с причиной проблемы.
Как насчет настольных систем? Разве они не требуют другого подхода?
Пользователи настольной системы действительно ожидают, что система «почувствует отзывчивость» в ответ на инициированные пользователем действия, такие как открытие приложения, которое является типом действия, которое иногда может инициировать своп из-за увеличения требуемой памяти . р>
Один из способов попытаться подстроить это - уменьшить параметр swappiness, который может повысить устойчивость системы к приложениям, используя память вверх и малое время на пути к кешу.
Однако, в какой-то степени это просто сдвигает ворота. Приложение может теперь загружаться без операции свопинга, но оно будет оставаться менее слабым для следующего приложения, которое загружается. Такая же замена может произойти позже, когда вы затем откроете приложение. В то же время производительность системы чуть ниже в целом из-за уменьшения размера кэша. Таким образом, любое преимущество от уменьшенной настройки swappiness может быть трудно измерить, что сокращает задержку обмена в несколько раз, но в то же время вызывает другие медленные рабочие характеристики.Уменьшение количества swappiness может быть оправдано, если вы знаете, что делаете, но уменьшая его до 10%, следует делать с осторожностью, так как это может привести к толерантности системы к очень низким размерам кеша и оставить систему более подверженной должны поменяться в кратчайшие сроки.
Отказывать своп полностью следует избегать, поскольку вы теряете дополнительную защиту от внешних условий, которые могут привести к сбоям или сбоям процессов.
Наиболее эффективным средством защиты является установка большего объема оперативной памяти, если вы можете себе это позволить.
Можно ли отключить обмен в системе с большим количеством ОЗУ?
Если у вас гораздо больше оперативной памяти, чем вам может понадобиться для приложений, тогда вам редко понадобится своп. Отключение свопа, вероятно, не изменит большую часть времени. Но если у вас много ОЗУ, то включение swap также не будет иметь никакого штрафа, потому что система не будет меняться, если это не нужно.
Единственные ситуации, в которых он будет иметь значение, будут в маловероятной ситуации, когда система окажется исчерпанной из-за нехватки памяти, и, следовательно, система кэша становится затруднительной, и это происходит в такой ситуации где вы могли бы хотеть менять большинство. Таким образом, вы можете спокойно оставить своп на своих нормальных настройках для дополнительного спокойствия без отрицательного эффекта, когда у вас много памяти.
Но как можно поменять скорость моей системы? Не меняет медленные вещи?
Акт передачи данных из ОЗУ для обмена - это медленная операция, но это делается только тогда, когда ядро уверен, что общая выгода в результате сохранения разумного размера кеша перевешивает это. Р>
Как только данные находятся в swap, когда он снова появляется?
Любая часть памяти будет возвращена из swap, как только она будет использована - прочитайте или напишите. Однако, как правило, память, которая заменяется, - это память, к которой не было доступа в течение длительного времени, и в ближайшее время ожидается, что она не понадобится.
Передача данных из подкачки занимает столько же времени, сколько и его размещение. Ваше ядро не удалит данные из него, если это не нужно. Хотя данные находятся в swap и не используются, они оставляют больше памяти для других вещей, которые используются , и больше системного кеша.