Я запустил процесс, который использовал в основном всю мою оперативную память и своп ... Я был вынужден убить процесс, но теперь я вижу что-то странное, мое использование свопа немного уменьшилось, но оно все еще наполовину используется, пока моя ОЗУ практически не используется ... На самом деле, гораздо больше используется Swap, чем ОЗУ, и хотя уровень использования ОЗУ низкий, мой компьютер работает очень медленно, и я предполагаю, что это связано с Уровень свопа все еще высок? Если так, как я могу очистить свой своп, если он не выполняется автоматически? Или что мне делать? Я уже рассмотрел этот вопрос , он, кажется, говорит не только о Swap, и я не хочу влиять на RAM, поэтому решение будет очищать Swap, но только Swap ...
В прошлый раз, когда это произошло, я был вынужден просто перезапустить свою машину, но я должен был это сделать. Я использую Ubuntu GNOME 15.10 с GNOME 3.18.
После того как данные входят в подкачку, нормально для него остаться там даже, после того как Ваша память начинает освобождать снова. Хорошо и нет никакой потребности в беспокойстве.
из-за доступа жесткого диска, являющегося значительно медленнее, чем память, Ваша система постарается не загружать данные или из подкачки, когда это не будет думать, что это необходимо для производительности системы или устойчивости. Так, данные только войдут в подкачку, когда система разрядит свободную память или существует большое давление на дисковый кэш, и Ваша система решает, что трудоемкий процесс помещающих данных в подкачку окупится с лучше или более надежная производительность системы впоследствии.
данные Передачи из подкачки (для традиционных жестких дисков, по крайней мере) столь же трудоемкие как помещение его там. Таким образом, Ваша система откажется удалить данные из подкачки, если это не будет на самом деле использоваться. Если у Вас есть данные в подкачке, и это не используется, то это - на самом деле хорошая вещь, которой это остается в подкачке, так как это оставляет больше свободной памяти для других вещей, которые используются, потенциально ускоряя Вашу систему.
лучший способ полностью постараться не подкачивать состоит в том, чтобы купить больше физической RAM, если это возможно. Когда это подкачивает, Ваша система дает Вам лучшую производительность, это может с объемом физической памяти, которую это имеет.
Однако если Вы уверены, что low-memory/high случай кэша, который вызвал подкачку во-первых, не произойдет снова и Вы не возражаете ожидать, можно вынудить систему выпустить все свои данные подкачки со следующими командами.
sudo swapoff -a
sudo swapon -a
Это отключит, затем повторно включают подкачку, вынуждая данные покинуть его в процессе. Как объяснено, нет, вероятно, никакой настоящей причины, чтобы сделать это - вне любопытства или видящий, как Ваша подкачка работает.
Замедление быстро разрешит самостоятельно как выгруженный, данные возвращены в том, когда это необходимо. Это не будет выгружено снова, пока у Вас есть много свободного поршня, но много других данных, к которым Вы не получили доступ, могло бы все еще остаться в подкачке, ожидающей Вас для фактической необходимости в нем снова.
/usr
... Я предполагаю, что должен быть способ добавить файлы конфигурации под /etc
, которые переопределяют их?
– pmos
31 December 2018 в 08:14
Очистка подкачки ничего не сделала бы для замедления Вашего компьютера и не должна быть сделана кроме того, если Вы полагаете, что некоторая неправильно программа поведения сохранила некоторые уязвимые данные (например, пароли) в выгружаемой памяти, которая, возможно, закончилась на разделе подкачки. Если Вы не должны вытирать потенциально уязвимые данные из подкачки, Вы никогда не должны вручную чистить или форматировать подкачку, после того как это работает.
Самая вероятная причина Ваша система чувствует себя медленной, состоит в том, что система на самом деле идет почти из RAM. Это может произойти, даже если системный монитор показывает, что система все еще имеет доступную память, потому что потребность памяти является часто спорадической, и память может быть необходима только для меньше, чем секунда и не обнаружится ни в каком медленном обновляющем системном мониторе.
Самый простой путь состоит в том, чтобы открыть терминальную и команду выполнения sudo vmstat -SM 10
(Вы, возможно, должны установить vmstat
сначала путем выполнения sudo apt install vmstat
):
Вывод будет выглядеть примерно так (новая строка появляется каждые 10 секунд):
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1609 6565 13230 0 0 88 195 17 178 44 10 45 1 0
1 0 0 1599 6565 13232 0 0 0 226 4621 18688 22 6 72 0 0
4 0 0 1566 6565 13234 0 0 0 67 5217 20819 27 7 65 1 0
2 0 0 1533 6566 13241 0 0 0 847 6021 23359 35 6 58 0 0
Поля, которые Вы хотите наблюдать, swap
si
и so
что означает число мегабайтов в 10 вторых периодов, которые загружаются (от устройства свопинга до RAM) или выгружаются. Обычно so
не имеет значения для системной скорости, но si
вызовет замедление и вызывается системой, имеющей слишком маленькую RAM для процессов, которые Вы пытаетесь выполнить в paraller. Возможные решения (1) закройте одно или несколько приложений, которые Вы используете, или (2) получите больше физической RAM.
Нажмите Ctrl+C для выхода vmstat
.
Отметьте это vmstat
не может сказать, идет ли система около нулевой свободной памяти в течение коротких моментов так free
, buff
и cache
может иметь большие числа, даже если память является медленной. sar
вероятно, единственная программа, которая может сказать наверняка, если Ваша память заканчивается, но ту программу довольно трудно настроить (не невозможный, хотя - просто устанавливают его и запускаются с man sar
).