Постоянно Увеличивая размер подкачки в Linux и Области подкачки, не исправляемой?

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

Я настоятельно рекомендую следовать более простым маршрутом помещения Вашего анонимного распределения на http и сохраняю https для нажатий.

10
задан 27 August 2012 в 16:50
4 ответа

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

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

  1. когда соответствующие страницы больше не необходимы вообще (т.е. освобождены приложением),
  2. когда соответствующие страницы изменяются (таким образом, копия на диске больше не актуальна),
  3. машина испытывает нехватку области подкачки так очищает некоторые вещи, которые уже находятся в RAM для создания места

Заглянуть /proc/meminfo для строки под названием "SwapCached". Эта запись считает страницы, которые найдены и в RAM и в разделах подкачки. Например, выбирая маленький VM наугад, /proc/meminfo виртуальный файл одно из моих шоу VMs:

SwapTotal:        698816 kB
SwapFree:         624520 kB
SwapCached:        17232 kB

указание, что 74268K области подкачки выделяется, но что 17232K ценность тех страниц также в настоящее время отображается в RAM также (так мог быть освобожден от подкачки в любой момент, если пространство необходимо чему-то еще).

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

Если Вы хотите убрать то, что находится в подкачке, пока у Вас есть достаточно свободное и/или freeable (т.е. free+cache+buffers (меньше тех частей количеств c+b, которые не являются freeable RightThisInstant)), просто выключите его и назад на снова с swapoff -a && swapon -a.

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

12
ответ дан 2 December 2019 в 22:07
  • 1
    Превосходный ответ. Спасибо. Таким образом, моя система в настоящее время показывает SwapTotal: SwapFree на 8 388 600 КБ: SwapCached на 7 197 688 КБ: 595 724 КБ Так Фактическая Подкачка, Бесплатная = 7197688 + 595724 = 7793412. Подкачка Actul, Используемая = 8388600 - 7793412 = 595188 == 581 МБ. Я предполагаю, что 581 МБ использования файла подкачки разумен для системы на 8 ГБ с 4 выполнениями приложений. Позвольте мне контролировать это в течение следующих нескольких дней и видеть, продолжает ли число swapCached увеличивать proportiontate до %swapUsed. –  Zenil 8 January 2010 в 12:11

В основном Вы не должны заботиться об этом. То, что важно для знания, - то, сколько IO переходит к подкачке (взгляните на команду 'vmstat'). Наличие большего количества материала в подкачке ничего не стоит. Единственная стоимость помещает материал в подкачку (страница в) или вынимает его (страница). Таким образом, совершенно разумно для ОС позволить подкачке вырасти.

2
ответ дан 2 December 2019 в 22:07
  • 1
    Важно знать фигуру, почему подкачка растет и никогда не уменьшается.. Что, если мы позволяем нашим серверам продолжать работать в течение многих недель? Подкачка вырастет вне предела и приведет к проблемам памяти? Загрузка/выгрузка смотрит " reasonable".. в течение периодов пикового действия существует высокая загрузка/выгрузка (и также %swapused увеличения).. В течение нормальных периодов загрузка/выгрузка минимальна, но %swapused не уменьшается –  Zenil 7 January 2010 в 17:57

пока Вы имеете область подкачки в наличии, нет никакой потребности в OS для освобождения области подкачки. Это будет освобождено, когда не будет никакого оставленного пространства. У Bu, когда Вы входите в эту ситуацию Вы определенно, есть проблема.

0
ответ дан 2 December 2019 в 22:07

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

В основном ОС подкачает вещи, которые не используются для хранения некоторой памяти свободной в любом случае, в случае, если новая программа начинает. Область подкачки не будет освобождена, пока она не будет необходима, означая, что можно было использовать 100%-ю область подкачки и не иметь никаких проблем производительности. Вещь волноваться о состоит в том, если это вызывается утечкой памяти. Это - не обязательно утечка памяти, но могло быть.

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

0
ответ дан 2 December 2019 в 22:07

Теги

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