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

Удостоверьтесь Ваш /etc/hosts (или NIS), записи корректны.

Я собирался попытаться объяснить это, но страница справочника рассказывает историю лучше:

THE FQDN
    You can't change the FQDN (as returned by hostname --fqdn) or  the  DNS
    domain  name (as returned by dnsdomainname) with this command. The FQDN
    of the system is the name that the resolver(3)  returns  for  the  host
    name.

    [..]

    Therefore  it  depends on the configuration (usually in /etc/host.conf)
    how you can change it. Usually (if the hosts file is parsed before  DNS
    or NIS) you can change it in /etc/hosts.
4
задан 23 February 2010 в 10:18
3 ответа

Вершина, которая является числом в %MEM столбец, считает сумму RSS память (Резидентный Размер Сегмента, в основном страницы физически в памяти, которые имеют реальные данные по ним) как процент общей физической памяти в Вашей машине или VPS.

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

Действительно ли это использование памяти нормально? Короткий ответ - да. Это типично для программ Unix для выделения (который является, просит ОС), значительно больше памяти, чем они использовали бы. Если Вы смотрите на VSS столбец, для процессов перечислил общее количество, более чем 463 МБ. Это вызвано тем, что

  • Большая память, считавшая против каждого процесса, будет физически отображена на той же библиотеке, скажет glibc
  • ОС обычно превышает возможности памяти к приложению на основании, что большинство приложений никогда не появляется для сбора на том, что они попросили.

Использование памяти процесса фигуры является больше искусством, чем наука, по моему скромному мнению, посмотрите обсуждения http://lwn.net. Мой совет состоит в том, чтобы пристально следить за iostat -xm и удостоверьтесь, что Ваша машина не подкачивает в большой степени.

6
ответ дан 3 December 2019 в 02:55
  • 1
    Спасибо за Ваш ответ - это ясно дает понять вещи. Особенно, я не знал, что ОС на самом деле пытается поддержать свободную память на низком уровне и сверхвыделяет память по причинам, которые Вы заявили. –  Sai 23 February 2010 в 11:38

В дополнение к ответу Dave Cheney:

Использование общей памяти минус буферы и кэш (159M) является ~67M и 67/524M ~12%. Поскольку больше памяти необходимо путем выполнения процессов, система автоматически уберет старый кэш и выделит это.

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

$ free -m
             total       used       free     shared    buffers     cached
Mem:           247        218         29          0         46         96
-/+ buffers/cache:         74        172
Swap:          556          0        556

Строка, которой Вы интересуетесь, - / + буферы/кэш

2
ответ дан 3 December 2019 в 02:55

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

При выполнении "PS", Вы будете видеть все процессы, которые работают, который на запасом установка Ubuntu равняется 109.

0
ответ дан 3 December 2019 в 02:55

Теги

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