Новая система Linux на 64 бита имеет регулярные процессы (PS, grep и т.д.) поднимающий слишком много мадам VIRT

Поместите * в поле пароля в/etc/shadow (это должно произойти, если Вы не устанавливаете пароль). Это будет препятствовать тому, чтобы пользователь вошел в систему.

0
задан 21 January 2012 в 06:53
2 ответа

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

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

Например:

# free
         total       used       free     shared    buffers     cached
Mem:       3973040    3944864      28176          0     433448    3123468
-/+ buffers/cache:     387948    3585092
Swap:      2040244      72080    1968164

В этом случае, в то время как система сообщает о почти всей 4G памяти, как используется, более близкое исследование показывает, что 3G его "кэшируется", означая, что существует на самом деле много доступной памяти. Вторая строка free вывод представляет то вычисление - исключая буферы и кэш, существует 3.5G доступная память.

-1
ответ дан 4 December 2019 в 23:03
  • 1
    Doesn' t похожи, который имеет место here:< br/> 132 prod-Charlotte1-node1 ~/public_html/rearch/cgi-bin> свободный-m< br/> общие используемые свободные общие буферы cached< br/> Мадам: 16000 15856 143 0 31 53< br/> - / + буферы/кэш: 15771 228< br/> Подкачка: 19455 1308 18147< br/> –  user42980 13 May 2010 в 18:00

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

Лучшей мерой использования памяти для Вашего процесса в этом случае является Размер резидентного набора (RSS), который является столбцом после виртуальной памяти. Это - объем физической памяти, которую использует Ваше приложение. Принятие Вас не входит для свопинга, который для программы как PS маловероятен, это - хорошая мера того, сколько "фактической" памяти приложение использует в этом случае. Той метрикой различие в основном незначительно.

Причина значительной разницы в виртуальных размерах могла быть для всевозможных причин. Часть его происходит, вероятно, из-за большего размера типов, особенно указатели, в 64 по сравнению с системой на 32 бита. Другая причина может просто быть из-за увеличения размера библиотек или возможно соединения с другим числом библиотек.

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

2
ответ дан 4 December 2019 в 23:03
  • 1
    У нас есть процесс жемчуга, работающий, это в старой системе использует VIRT приблизительно на 50-60 МБ и немного меньше RSS. На новых машинах, теперь поднимают приблизительно 180 МБ VIRT и RSS 60-70. Это заставляет машину исчерпывать память и переходить к подкачке. 132 prod-Charlotte1-node1 ~/public_html/rearch/cgi-bin> свободные-m общие используемые свободные общие буферы кэшировали Мадам: 16000 15856 143 0 31 53 - / + буферы/кэш: 15771 228 Подкачек: 19455 1308 18147 –  user42980 13 May 2010 в 18:05
  • 2
    Как один процесс Perl использует 180 МБ виртуальной памяти, вызывающей машину с 16 ГБ RAM исчерпать память? You' ре, все еще пропускающее что-то здесь. –  Kamil Kisiel 13 May 2010 в 19:27
  • 3
    Ну, существует 200 из них выполнение :) –  user42980 13 May 2010 в 23:55

Теги

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