Нужен ли нам раздел подкачки на сервере LAMP?

Нужен ли нам раздел подкачки на ubuntu-сервере с LAMP? Я думаю, что мне это не нужно, но лучше знать наверняка, не вызовет ли это какое-то непредсказуемое поведение. На самом деле мои мысли были:

Сервер никогда не спящий. Если он меняет, нужно подумать о настройке баланса / трафике и т. Д. ...

Правильно ли я могу отключить своп для производственного сервера?

Спасибо!

13
задан 29 November 2010 в 18:17

46 ответов

Правильно ли я могу отключить своп для производственного сервера?

Нет. Всегда есть некоторое место подкачки.

Я попытался запустить производственный сервер без свопинга один раз и примерно через неделю, после обновления Wordpress, PHP начал потреблять гораздо больше оперативной памяти, чем мы учли. Когда у вас заканчивается ОЗУ, и у вас есть своп, все замедляется (иногда много, иногда немного, в зависимости от того, что туда запирается), но вы можете войти в систему, найти проблему и попытаться исправить это.

Когда вы исчерпали ОЗУ и не имеете подкачки, процессы умирают, вещи останавливаются и много времени, когда ваш единственный вариант - перезагрузка.

В моем мире сломанный намного хуже, чем медленный.

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

[d8 ]

В ответ на комментарий SpamapS:

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

Я полностью не согласен с вашим комментарием о времени безотказной работы. В традиционной настройке электронной коммерции, если люди не могут видеть ваш сайт, они не могут купить у вас. Это не просто электронная коммерция, все коммерческие интересы в Интернете занимают гораздо больше вкладок, если вы на какой-то период. Я знаю, потому что я размещаю сайты и услуги для компаний и запускаю свои собственные сайты. Slow = grumpy, но Down = ярость. Даже если вы только снижаетесь на минутку, если пользователь видит уведомление о «снижении обслуживания» более двух раз, они предполагают, что вы не сможете сохранить сайт.

[d14 ] Медленный сервер менее идеален, но swap не существует, чтобы его можно было запускать все время, это последнее средство, позволяющее вещам продолжать работать, пока вы их исправляете.

Вы также предполагаете, что есть только одна служба работает на машине. Опять же, это может быть правдой, если у вас есть мегабаки, чтобы разделить все, но в реальном мире все объединяется. Несколько веб-сайтов, демонов ssh, ftp-серверов, почтовых серверов и т. Д. Один процесс, протекающий в swap, может даже не повлиять на другую услугу. Без обмена все имеет равные шансы на мгновенное, случайное завершение. Вы не контролируете его.

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

13
ответ дан 26 May 2018 в 00:12
  • 1
    То же самое происходит здесь, вроде ... это была ошибка в моей стороне, а не намеренное решение. Сервер без обмена - это ад для ремонта, особенно если он решает убить sshd. – Javier Rivera 29 November 2010 в 14:31
  • 2
    У меня около 16 ГБ оперативной памяти, половина из них кэшируется для быстрого ввода-вывода, остальное для LAMP, своп всегда свободен, или несколько раз несколько мегабайт есть, но я думаю, что он всегда выключен ... – Arman 29 November 2010 в 14:33
  • 3
    В мире успешных веб-сайтов невосприимчивость хуже, чем нарушена. Пользователи действительно оценят неудачу FAST (что, ваш код интерфейса javascript должен обрабатывать изящно btw), но они будут НЕНАВИСТИ, что вы медленны. Поймайте своп, это просто задерживает неизбежное. -1 – SpamapS 6 December 2010 в 19:20
  • 4
    @Oli: Запуск N + 1 больше не берет мегабаки или даже много долларов. На самом деле это даже не требует особых навыков. Его неизбежно, что сервер пойдет по каким-либо причинам, и не так сложно помешать этому не быть проблемой. Если у вас есть автономный сервер LAMP, который делает все, то что стоит больше; Настройка еще двух и балансировщика нагрузки (на EC2 с моментальными снимками t1.micros и EBS, это может быть ОЧЕНЬ дешево), или ваш сайт будет необычно медленным в самый большой день? Проверьте данные из Google ... Я думаю, что его ясный бит.ly/hB1AD1 – SpamapS 6 December 2010 в 21:08
  • 5
    Отличный ответ, охватывающий реальные серверные дела. Добавление избыточного оборудования, LB, мониторинга, кеш-памяти и т. Д. - все это невероятно важно, и у вас будет время, чтобы настроить и отладить их, если вы не зацикливаетесь, потому что вы избавились от места подкачки. – ImaginaryRobots 7 December 2010 в 02:43

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 27 July 2018 в 00:40

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 31 July 2018 в 10:43

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 31 July 2018 в 11:47

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 2 August 2018 в 04:13

Использование swap даст вам дополнительную защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, наверное, сейчас в меньшинстве, когда я говорю, он все еще имеет смысл, как обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 4 August 2018 в 20:18

Использование swap даст вам дополнительную защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, наверное, сейчас в меньшинстве, когда я говорю, он все еще имеет смысл, как обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 6 August 2018 в 04:18

Использование swap даст вам дополнительную защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, наверное, сейчас в меньшинстве, когда я говорю, он все еще имеет смысл, как обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 7 August 2018 в 22:23

Использование swap даст вам дополнительную защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, наверное, сейчас в меньшинстве, когда я говорю, он все еще имеет смысл, как обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 10 August 2018 в 10:32

Использование swap даст вам дополнительную защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, наверное, сейчас в меньшинстве, когда я говорю, он все еще имеет смысл, как обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
13
ответ дан 13 August 2018 в 17:01
  • 1
    То же самое происходит здесь, вроде ... это была ошибка в моей стороне, а не намеренное решение. Сервер без обмена - это ад для ремонта, особенно если он решает убить sshd. – Javier Rivera 29 November 2010 в 14:31
  • 2
    У меня около 16 ГБ оперативной памяти, половина из них кэшируется для быстрого ввода-вывода, остальное для LAMP, своп всегда свободен, или несколько раз несколько мегабайт есть, но я думаю, что он всегда выключен ... – Arman 29 November 2010 в 14:33
  • 3
    Ха! Спасибо за редактирование Oli, facepalm . – Stefano Palazzo♦ 29 November 2010 в 14:34
  • 4
    В мире успешных веб-сайтов невосприимчивость хуже, чем нарушена. Пользователи действительно оценят неудачу FAST (что, ваш код интерфейса javascript должен обрабатывать изящно btw), но они будут НЕНАВИСТИ, что вы медленны. Поймайте своп, это просто задерживает неизбежное. -1 – SpamapS 6 December 2010 в 19:20
  • 5
    @Oli: Запуск N + 1 больше не берет мегабаки или даже много долларов. На самом деле это даже не требует особых навыков. Его неизбежно, что сервер пойдет по каким-либо причинам, и не так сложно помешать этому не быть проблемой. Если у вас есть автономный сервер LAMP, который делает все, то что стоит больше; Настройка еще двух и балансировщика нагрузки (на EC2 с моментальными снимками t1.micros и EBS, это может быть ОЧЕНЬ дешево), или ваш сайт будет необычно медленным в самый большой день? Проверьте данные из Google ... Я думаю, что его ясный бит.ly/hB1AD1 – SpamapS 6 December 2010 в 21:08
  • 6
    Отличный ответ, охватывающий реальные серверные дела. Добавление избыточного оборудования, LB, мониторинга, кеш-памяти и т. Д. - все это невероятно важно, и у вас будет время, чтобы настроить и отладить их, если вы не зацикливаетесь, потому что вы избавились от места подкачки. – ImaginaryRobots 7 December 2010 в 02:43

Правильно ли я могу отключить своп для производственного сервера?

Нет.

Я попытался запустить производственный сервер без свопинга один раз и примерно через неделю, после обновления Wordpress, PHP начал потреблять гораздо больше оперативной памяти, чем мы учли. Когда у вас заканчивается ОЗУ, и у вас есть своп, все замедляется (иногда много, иногда немного, в зависимости от того, что туда запирается), но вы можете войти в систему, найти проблему и попытаться исправить это.

Когда вы исчерпали ОЗУ и не имеете подкачки, процессы умирают, что-то останавливается, и много времени ваш единственный вариант - перезагрузка.

В моем мире сломанный намного хуже, чем медленный.

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


В ответ на комментарий SpamapS:

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

Я полностью не согласен с вашим комментарием о времени безотказной работы. В традиционной настройке электронной коммерции, если люди не могут видеть ваш сайт, они не могут покупать у вас. Это не просто электронная коммерция, все коммерческие интересы в Интернете занимают гораздо больше вкладок, если вы на какой-то период. Я знаю, потому что я размещаю сайты и услуги для компаний и запускаю свои собственные сайты. Slow = grumpy, но Down = ярость. Даже если вы заходите только на минутку, если пользователь несколько раз видит уведомление об отказе от обслуживания, они предполагают, что вы не сможете сохранить сайт.

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

Вы также предполагаете, что есть только одна служба работает на машине. Опять же, это может быть правдой, если у вас есть мегабаки, чтобы разделить все, но в реальном мире все объединяется. Несколько веб-сайтов, демонов ssh, ftp-серверов, почтовых серверов и т. Д. Один процесс, протекающий в swap, может даже не повлиять на другую услугу. Без обмена все имеет равные шансы на мгновенное, случайное завершение. Вы не контролируете его.

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

13
ответ дан 15 August 2018 в 23:40
  • 1
    То же самое происходит здесь, вроде ... это была ошибка в моей стороне, а не намеренное решение. Сервер без обмена - это ад для ремонта, особенно если он решает убить sshd. – Javier Rivera 29 November 2010 в 14:31
  • 2
    У меня около 16 ГБ оперативной памяти, половина из них кэшируется для быстрого ввода-вывода, остальное для LAMP, своп всегда свободен, или несколько раз несколько мегабайт есть, но я думаю, что он всегда выключен ... – Arman 29 November 2010 в 14:33
  • 3
    В мире успешных веб-сайтов невосприимчивость хуже, чем нарушена. Пользователи действительно оценят неудачу FAST (что, ваш код интерфейса javascript должен обрабатывать изящно btw), но они будут НЕНАВИСТИ, что вы медленны. Поймайте своп, это просто задерживает неизбежное. -1 – SpamapS 6 December 2010 в 19:20
  • 4
    @Oli: Запуск N + 1 больше не берет мегабаки или даже много долларов. На самом деле это даже не требует особых навыков. Его неизбежно, что сервер пойдет по каким-либо причинам, и не так сложно помешать этому не быть проблемой. Если у вас есть автономный сервер LAMP, который делает все, то что стоит больше; Настройка еще двух и балансировщика нагрузки (на EC2 с моментальными снимками t1.micros и EBS, это может быть ОЧЕНЬ дешево), или ваш сайт будет необычно медленным в самый большой день? Проверьте данные из Google ... Я думаю, что его ясный бит.ly/hB1AD1 – SpamapS 6 December 2010 в 21:08
  • 5
    Отличный ответ, охватывающий реальные серверные дела. Добавление избыточного оборудования, LB, мониторинга, кеш-памяти и т. Д. - все это невероятно важно, и у вас будет время, чтобы настроить и отладить их, если вы не зацикливаетесь, потому что вы избавились от места подкачки. – ImaginaryRobots 7 December 2010 в 02:43

Я должен не соглашаться с тем, чтобы иметь своп на производственных серверах.

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

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

Без свопа ваш LAMP-сервер просто уничтожит процессы, чтобы высвободить ОЗУ. Надлежащий мониторинг должен предупредить вас об этом и удалить серверы из производства, если будут убиты критические процессы. Хуже всего то, что ваши методы входа в систему полностью уничтожены, и вам нужно выполнить жесткий цикл перезагрузки / питания. Этот худший случай по-прежнему так же вероятен с помощью компьютера с отключенным контролем, но гораздо труднее обнаружить.

Если вы используете PHP, включите ограничения памяти и отслеживаете свои журналы для их сбоев. Вот трюк, установите лимит ниже на вашем сервере-разработчике, чем на производстве. Если вы используете mod_php под apache, установите MaxRequestsPerChild на несколько тысяч, чтобы штамп httpd не увеличивался с течением времени. Прежде всего, отслеживайте использование памяти! Часто память ползает со временем, и вам просто нужно периодически запускать негерметичную службу, когда вы отлаживаете проблему.

5
ответ дан 26 May 2018 в 00:12
  • 1
    Спасибо за обмен вашего опыта. Я занимался подобными проблемами, когда ssh принимал Inf. Я просто заставлял процессы иметь ограниченную память, что позволяло мне запускать ssh и исправлять багги-скрипты. – Arman 7 December 2010 в 12:12
  • 2
    Одна из самых интересных дискуссий о пространстве подкачки в производстве, которую я видел в Интернете. (целая нить, pro & amp; cons) – dpb 19 December 2013 в 01:04

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 26 May 2018 в 00:12
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
2
ответ дан 26 May 2018 в 00:12

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash
CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}')
ECOMM="echo $CURRSWAP means healthy, I wont take any action."
CURRDATE=$(date)
MAILDST="your@email.addr"

case $CURRSWAP in
  [0]k) $ECOMM
        exit 0
        ;;
  *)    echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST
        exit 0
        ;;
esac
exit 0
0
ответ дан 26 May 2018 в 00:12

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 25 July 2018 в 22:49
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}') ECOMM="echo $CURRSWAP means healthy, I wont take any action." CURRDATE=$(date) MAILDST="your@email.addr" case $CURRSWAP in [0]k) $ECOMM exit 0 ;; *) echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST exit 0 ;; esac exit 0
0
ответ дан 25 July 2018 в 22:49

Использование swap даст вам еще одну защиту от нестабильности сервера. Там могут быть моменты, когда ОЗУ заканчивается, и на сервере без свопа, что может привести к мягкому сбою.

Я, вероятно, сейчас в меньшинстве, когда я говорю, по-прежнему имеет смысл, как они обычно, рекомендовать, иметь в два раза больше swap, поскольку у вас есть основная память. Даже в системе с 96 ГБ ОЗУ.

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

)
2
ответ дан 25 July 2018 в 22:49
  • 1
    То же самое происходит здесь, вроде ... это была ошибка в моей стороне, а не намеренное решение. Сервер без обмена - это ад для ремонта, особенно если он решает убить sshd. – Javier Rivera 29 November 2010 в 14:31
  • 2
    У меня около 16 ГБ оперативной памяти, половина из них кэшируется для быстрого ввода-вывода, остальное для LAMP, своп всегда свободен, или несколько раз несколько мегабайт есть, но я думаю, что он всегда выключен ... – Arman 29 November 2010 в 14:33
  • 3
    Ха! Спасибо за редактирование Oli, facepalm . – Stefano Palazzo♦ 29 November 2010 в 14:34
  • 4
    В мире успешных веб-сайтов невосприимчивость хуже, чем нарушена. Пользователи действительно оценят неудачу FAST (что, ваш код интерфейса javascript должен обрабатывать изящно btw), но они будут НЕНАВИСТИ, что вы медленны. Поймайте своп, это просто задерживает неизбежное. -1 – SpamapS 6 December 2010 в 19:20
  • 5
    @Oli: Запуск N + 1 больше не берет мегабаки или даже много долларов. На самом деле это даже не требует особых навыков. Его неизбежно, что сервер пойдет по каким-либо причинам, и не так сложно помешать этому не быть проблемой. Если у вас есть автономный сервер LAMP, который делает все, то что стоит больше; Настройка еще двух и балансировщика нагрузки (на EC2 с моментальными снимками t1.micros и EBS, это может быть ОЧЕНЬ дешево), или ваш сайт будет необычно медленным в самый большой день? Проверьте данные из Google ... Я думаю, что его ясный бит.ly/hB1AD1 – SpamapS 6 December 2010 в 21:08
  • 6
    Отличный ответ, охватывающий реальные серверные дела. Добавление избыточного оборудования, LB, мониторинга, кеш-памяти и т. Д. - все это невероятно важно, и у вас будет время, чтобы настроить и отладить их, если вы не зацикливаетесь, потому что вы избавились от места подкачки. – ImaginaryRobots 7 December 2010 в 02:43

Я должен не соглашаться с тем, чтобы иметь своп на производственных серверах.

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

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

Без свопа ваш LAMP-сервер просто уничтожит процессы, чтобы высвободить ОЗУ. Надлежащий мониторинг должен предупредить вас об этом и удалить серверы из производства, если будут убиты критические процессы. Хуже всего то, что ваши методы входа в систему полностью уничтожены, и вам нужно выполнить жесткий цикл перезагрузки / питания. Этот худший случай по-прежнему так же вероятен с помощью компьютера с отключенным контролем, но гораздо труднее обнаружить.

Если вы используете PHP, включите ограничения памяти и отслеживаете свои журналы для их сбоев. Вот трюк, установите лимит ниже на вашем сервере-разработчике, чем на производстве. Если вы используете mod_php под apache, установите MaxRequestsPerChild на несколько тысяч, чтобы штамп httpd не увеличивался с течением времени. Прежде всего, отслеживайте использование памяти! Часто память ползает со временем, и вам просто нужно периодически запускать негерметичную службу, когда вы отлаживаете проблему.

5
ответ дан 25 July 2018 в 22:49
  • 1
    Спасибо за обмен вашего опыта. Я занимался подобными проблемами, когда ssh принимал Inf. Я просто заставлял процессы иметь ограниченную память, что позволяло мне запускать ssh и исправлять багги-скрипты. – Arman 7 December 2010 в 12:12
  • 2
    Одна из самых интересных дискуссий о пространстве подкачки в производстве, которую я видел в Интернете. (целая нить, pro & amp; cons) – dpb 19 December 2013 в 01:04

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 27 July 2018 в 00:40
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}') ECOMM="echo $CURRSWAP means healthy, I wont take any action." CURRDATE=$(date) MAILDST="your@email.addr" case $CURRSWAP in [0]k) $ECOMM exit 0 ;; *) echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST exit 0 ;; esac exit 0
0
ответ дан 27 July 2018 в 00:40

Я должен не соглашаться с тем, чтобы иметь своп на производственных серверах.

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

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

Без свопа ваш LAMP-сервер просто уничтожит процессы, чтобы высвободить ОЗУ. Надлежащий мониторинг должен предупредить вас об этом и удалить серверы из производства, если будут убиты критические процессы. Хуже всего то, что ваши методы входа в систему полностью уничтожены, и вам нужно выполнить жесткий цикл перезагрузки / питания. Этот худший случай по-прежнему так же вероятен с помощью компьютера с отключенным контролем, но гораздо труднее обнаружить.

Если вы используете PHP, включите ограничения памяти и отслеживаете свои журналы для их сбоев. Вот трюк, установите лимит ниже на вашем сервере-разработчике, чем на производстве. Если вы используете mod_php под apache, установите MaxRequestsPerChild на несколько тысяч, чтобы штамп httpd не увеличивался с течением времени. Прежде всего, отслеживайте использование памяти! Часто память ползает со временем, и вам просто нужно периодически запускать негерметичную службу, когда вы отлаживаете проблему.

5
ответ дан 27 July 2018 в 00:40
  • 1
    Спасибо за обмен вашего опыта. Я занимался подобными проблемами, когда ssh принимал Inf. Я просто заставлял процессы иметь ограниченную память, что позволяло мне запускать ssh и исправлять багги-скрипты. – Arman 7 December 2010 в 12:12
  • 2
    Одна из самых интересных дискуссий о пространстве подкачки в производстве, которую я видел в Интернете. (целая нить, pro & amp; cons) – dpb 19 December 2013 в 01:04

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 31 July 2018 в 10:43
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}') ECOMM="echo $CURRSWAP means healthy, I wont take any action." CURRDATE=$(date) MAILDST="your@email.addr" case $CURRSWAP in [0]k) $ECOMM exit 0 ;; *) echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST exit 0 ;; esac exit 0
0
ответ дан 31 July 2018 в 10:43

Я должен не соглашаться с тем, чтобы иметь своп на производственных серверах.

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

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

Без свопа ваш LAMP-сервер просто уничтожит процессы, чтобы высвободить ОЗУ. Надлежащий мониторинг должен предупредить вас об этом и удалить серверы из производства, если будут убиты критические процессы. Хуже всего то, что ваши методы входа в систему полностью уничтожены, и вам нужно выполнить жесткий цикл перезагрузки / питания. Этот худший случай по-прежнему так же вероятен с помощью компьютера с отключенным контролем, но гораздо труднее обнаружить.

Если вы используете PHP, включите ограничения памяти и отслеживаете свои журналы для их сбоев. Вот трюк, установите лимит ниже на вашем сервере-разработчике, чем на производстве. Если вы используете mod_php под apache, установите MaxRequestsPerChild на несколько тысяч, чтобы штамп httpd не увеличивался с течением времени. Прежде всего, отслеживайте использование памяти! Часто память ползает со временем, и вам просто нужно периодически запускать негерметичную службу, когда вы отлаживаете проблему.

5
ответ дан 31 July 2018 в 10:43
  • 1
    Спасибо за обмен вашего опыта. Я занимался подобными проблемами, когда ssh принимал Inf. Я просто заставлял процессы иметь ограниченную память, что позволяло мне запускать ssh и исправлять багги-скрипты. – Arman 7 December 2010 в 12:12
  • 2
    Одна из самых интересных дискуссий о пространстве подкачки в производстве, которую я видел в Интернете. (целая нить, pro & amp; cons) – dpb 19 December 2013 в 01:04

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 31 July 2018 в 11:47
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}') ECOMM="echo $CURRSWAP means healthy, I wont take any action." CURRDATE=$(date) MAILDST="your@email.addr" case $CURRSWAP in [0]k) $ECOMM exit 0 ;; *) echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST exit 0 ;; esac exit 0
0
ответ дан 31 July 2018 в 11:47

Я должен не соглашаться с тем, чтобы иметь своп на производственных серверах.

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

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

Без свопа ваш LAMP-сервер просто уничтожит процессы, чтобы высвободить ОЗУ. Надлежащий мониторинг должен предупредить вас об этом и удалить серверы из производства, если будут убиты критические процессы. Хуже всего то, что ваши методы входа в систему полностью уничтожены, и вам нужно выполнить жесткий цикл перезагрузки / питания. Этот худший случай по-прежнему так же вероятен с помощью компьютера с отключенным контролем, но гораздо труднее обнаружить.

Если вы используете PHP, включите ограничения памяти и отслеживаете свои журналы для их сбоев. Вот трюк, установите лимит ниже на вашем сервере-разработчике, чем на производстве. Если вы используете mod_php под apache, установите MaxRequestsPerChild на несколько тысяч, чтобы штамп httpd не увеличивался с течением времени. Прежде всего, отслеживайте использование памяти! Часто память ползает со временем, и вам просто нужно периодически запускать негерметичную службу, когда вы отлаживаете проблему.

5
ответ дан 31 July 2018 в 11:47
  • 1
    Спасибо за обмен вашего опыта. Я занимался подобными проблемами, когда ssh принимал Inf. Я просто заставлял процессы иметь ограниченную память, что позволяло мне запускать ssh и исправлять багги-скрипты. – Arman 7 December 2010 в 12:12
  • 2
    Одна из самых интересных дискуссий о пространстве подкачки в производстве, которую я видел в Интернете. (целая нить, pro & amp; cons) – dpb 19 December 2013 в 01:04

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

Эта ситуация будет происходить много раз на сервере.

a). Неоптимизированный сценарий может потреблять большой объем памяти b). Сценарии, такие как резервное копирование, всегда будут потреблять огромную память. C). тяжелый трафик

Итак, хорошая практика - иметь некоторое пространство подкачки.

Подробнее: https://help.ubuntu.com/community/SwapFaq

3
ответ дан 2 August 2018 в 04:13
  • 1
    Спасибо за объяснение. Если у вас есть глючный скрипт, то в любом случае вы будете разбивать сервер, системные ограничения должны контролировать ваши скрипты, не так ли? – Arman 29 November 2010 в 14:31
  • 2
    aneeshep, если вы меняете во время интенсивного трафика, ваша система будет на 100 раз медленнее, чем обычно. Это обычно неприемлемо. – SpamapS 6 December 2010 в 19:37

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

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

Я использую этот скрипт каждые полчаса в рабочей среде. Он отправит мне уведомление, если использование Swap! = 0k.

Ожидает, что у вас будут: bash, top, echo, awk и рабочая почтовая команда. , без каких-либо проверок.

Надеюсь, что это поможет.

#!/bin/bash CURRSWAP=$(top -b -n1 |grep Swap |awk '{print $4}') ECOMM="echo $CURRSWAP means healthy, I wont take any action." CURRDATE=$(date) MAILDST="your@email.addr" case $CURRSWAP in [0]k) $ECOMM exit 0 ;; *) echo -e "Server: $HOSTNAME \n Date: $CURRDATE \n Current Swap partition usage: $CURRSWAP" | mail -s "Warning from $HOSTNAME" -- $MAILDST exit 0 ;; esac exit 0
0
ответ дан 2 August 2018 в 04:13

Другие вопросы по тегам:

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