Системный монитор и free -m показывают разные показания

662
Shades88

Я видел использование памяти с помощью системного монитора, он показал мне 778Mb / 2012Mb. Затем я проверил это, используя free -m на терминале. я видел это

 total used free shared buffers cached Mem: 2012 1922 89 0 130 1013 -/+ buffers/cache: 778 1234 Swap: 2047 0 2047 

Как это огромная разница. Похоже, системный монитор показывает - / + буферы / чтение кеша как общее количество используемой памяти. Но что это такое? Если бы использованная память 1922Mb была верна, то моя система стала бы ужасно медленной. Кто-нибудь объяснит это? Я использую Fedora 13

1
Ваше рассуждение обратное. Чем больше памяти использует система, тем быстрее она становится. Вот почему вы помещаете больше памяти в машину, если она медленная - поэтому она может использовать больше памяти и, следовательно, работать быстрее. (Это очень распространенное и очень фундаментальное недоразумение о том, как работает память на современном компьютере. Свободная память ничего не делает, чтобы ваша машина работала быстрее, она просто сидит. Используемая память хороша, она содержит полезные данные, которые могут спасти компьютер от делать такие вещи, как чтение с диска.) David Schwartz 11 лет назад 0

2 ответа на вопрос

5
flashnode

Я хотел бы указать людям с этой проблемой на этот сайт: www.linuxatemyram.com

Линукс съел мой баран!

В чем дело?

Linux заимствует неиспользуемую память для кэширования диска. Это выглядит так, будто у вас мало памяти, а у вас нет! Все отлично!

[...]

Почему top и free говорят, что все мои оперативные памяти используются, если это не так?

Это просто недопонимание терминов. И вы, и Linux согласны с тем, что память, занятая приложениями, «используется», а память, которая ни для чего не используется, «свободна».

Но как назвать память, которая используется для чего-то и доступна для приложений?

Вы бы назвали это «бесплатным», но Linux называет это «использованным».

Memory that is You'd call it Linux calls it --------------------------- ------------- -------------- taken by applications Used Used available for applications, and used for something Free Used not used for anything Free Free 

Это «что-то» - это то, что top и free называют «буферами» и «кэшированными». Поскольку терминология у вас и у Linux разная, вы думаете, что у вас мало оперативной памяти.

Как узнать, сколько у меня свободного барана?

Чтобы увидеть, сколько оперативной free -mпамяти можно использовать бесплатно для ваших приложений, запустите и посмотрите на строку с надписью «- / + buffers / cache» в колонке «free». Это ваш ответ в мегабайтах.

[...]

поучительная статья Shades88 11 лет назад 0
1
soandos

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

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

Резкое замедление происходит, когда ОС / программы вынуждены извлекать данные непосредственно из раздела подкачки, поскольку жесткий диск намного медленнее, чем ОЗУ.

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