Как правильно проверить доступную память в Linux - PullRequest
0 голосов
/ 15 февраля 2019

Извините за этот вопрос начального уровня, но я запутался, поэтому я хочу позволить другим помочь мне прояснить его

Я использую команду free в linux для просмотра доступной памяти внутри него.

Сначала я думаю, что значение берется из столбца free в первой строке, поэтому на рисунке ниже указано 102532 , но в некоторых других частях говоритсячто доступная память свободна + буфера + кэширована , поэтому на рисунке ниже 102532 + 200904 + 5832244, то есть 6135680 .

Но когда я использую free -t или vmstat -s |grep memory, я обнаружил, что свободная память все еще около 102532

Теперь я запутался и не знаю, должен лиМне нужно добавить внешнюю память для этой системы Linux.

Может кто-нибудь помочь мне найти, какой метод является правильным способом проверки доступной памяти в Linux (мы должны рассмотреть буферизованную икэшированная память как доступная память?), и для вывода на картинке ниже, мне нужно добавить для нее больше памяти?

Заранее спасибо!

enter image description here

1 Ответ

0 голосов
/ 15 февраля 2019

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...