it0r,
Нужно смотреть именно 1.2Г - это память занятая буферами приложений, она не может быть освобождена без закрытия приложения. 2.3Г - это занятая ОЗУ вместе с дисковым кэшем. Дисковый кэш - это необязятельный кэш и он освобождается сразу по необходимости для других программ. Если у тебя будет 8Г, один фиг если погонять туда сюда файлы всю ОЗУ можно забить дисковым кэшем и это здорово, т.к. система старается работать быстрее и использовать всю память.
Можно сказать так:
1.2Г - буферы приложений - занятая ОЗУ
2.6Г - доступная для использования (её обычно и считают свободной для использования)
1.5Г - не использованая ОЗУ.
Пользователь решил продолжить мысль [time]28 Июль 2015, 11:14:31[/time]:
память использована, занята... если не прграммами а кэшем - так какая разница? ведь все равно - занята...
при этом выгружаться в свап, в первую очередь будет не кэш...
Ты неправильно понимаешь механизм. Выгружается в своп не кэш да, но когда дойдет дело до выгрузки буферов в своп, кэши уже будут освобождены (их нет смысла выгружать в своп, они просто удаляются). Т.е. сначала система использует всю доступную память (в том числе ту, что под дисковым кэшем) и только потом начнет свопиться.
В реале все немного сложнее, система не допускает ситуации, чтобы доступная память стремилась к нулю, а поддерживает её на определенном уровне, заранее выгружая буферы в своп и оставляя доступную память для того, чтобы в случае необходимости она могла сразу её выделить, не теряя времеми на выгрузку в своп (гуглить про swappiness). И эта доступная память будет занята кэшем не по той причине, что она для него оставлена, а просто для того, чтобы не простаивала. Ещё раз, в 1-ю очередь доступная память оставляется в запас для быстрого предоставления по требованию.
Я думаю, вопрос этот пора закрыть.