Рейтинг:0

Как сделать вывод о том, что верхняя команда VSZ и резидентные номера памяти активно используются / свободны?

флаг us

У меня есть две виртуальные машины: одна с 2 ВЦП, 4 ГБ ОЗУ, а другая с 4 ВЦП и 8 ГБ ОЗУ.

Теперь я установил / запустил одно и то же приложение (модули k8s) с одинаковой памятью, распределением процессора, запросами, ограничениями для обеих виртуальных машин.

Наблюдения

  • При выводе всего верхнего вывода на обеих виртуальных машинах и суммировании резидентной памяти всего процесса я вижу одинаковые числа на обеих виртуальных машинах, т.е. потребляется около 2 ГБ.
  • Суммируя все числа в столбце VIRT, получаем 55456748 более или менее на обеих виртуальных машинах

Вопрос

  • Однако в верхней сводке команд / командах обработки информации о памяти отображаются разные числа на двух виртуальных машинах. Любые указатели на то, почему и где, как узнать дополнительную память / основную причину потребления памяти 4 ЦП и 8 ГБ?
2ВЦПУ 4 ГБ

$ кошка /proc/meminfo
Общий объем памяти: 3880500 КБ
МемСвободно: 144924 КБ
ПамятьДоступно: 590280 КБ
SwapTotal: 1327100 КБ
SwapFree: 1261564 КБ
4ВЦПУ 8 ГБ

$ кошка /proc/meminfo
Общий объем памяти: 8008964 КБ
МемСвободно: 197860 КБ
Доступно: 1470412 КБ
SwapTotal: 1327100 КБ
SwapFree: 1321408 КБ
FedKad avatar
флаг cn
Не рассматривайте `MemFree`. Вместо этого используйте `MemAvailable` для использования памяти.
Mozhi avatar
флаг us
@FedonKadifeli Я обновил вопрос с помощью MemAvailable , несоответствие все еще есть. т. е. 8 ГБ ОЗУ показывает, что доступно только 1,5 ГБ, а 4 ГБ VM показывает, что доступно только 590 МБ.
Рейтинг:1
флаг us

ОК, это произошло из-за конфигурации огромных страниц, которую я установил при установке приложения, ОС создает страницы, по-видимому, на основе значений, указанных при их включении.

2ВЦПУ 

около 600 страниц по 2048 КБ, т.е. 1,23 ГБ заблокировано 

4 виртуальных процессора

около 2048 страниц, по 2048 КБ каждая, т.е. 4,2 ГБ, заблокированных в основной памяти
FedKad avatar
флаг cn
Существует много причин, по которым система с большей памятью будет использовать больше памяти, чем идентичная система с меньшей памятью. Вы нашли один из них. Пожалуйста, расширьте свой ответ, если найдете другие причины. (Мой ответ был дан, чтобы подчеркнуть, что MemAvailable следует использовать вместо MemFree. И я даю вам свои баллы за ваш ответ!)
Рейтинг:1
флаг cn

Не использовать MemFree, но вместо этого используйте ПамятьДоступна метрика для определения объема «свободной» памяти, которую система может использовать для приложений без свопинга.

Подробное объяснение этого дано здесь, например:

https://superuser.com/questions/980820/какая-есть-разница-между-memfree-и-memavailable-in-proc-meminfo

Я написал следующую функцию Bash для общей проверки использования памяти. Вы можете вставить код в конец вашего .bash_aliases файл.

функция мф
{
 mt=($(grep '^MemTotal:' /proc/meminfo))
 ma=($(grep '^MemAvailable:' /proc/meminfo))
 пусть mtmb=${mt[1]}/1024
 пусть mamb=${ma[1]}/1024
 пусть mumb="(${mt[1]}-${ma[1]})/1024"
 пусть muse="(${mt[1]}-${ma[1]})*100/${mt[1]}"

 st=($(grep '^SwapTotal:' /proc/meminfo))
 sf=($(grep '^SwapFree:' /proc/meminfo))
 пусть stmb=${st[1]}/1024
 пусть sfmb=${sf[1]}/1024
 пусть sumb="(${st[1]}-${sf[1]})/1024"
 если (( ст[1] != 0 )) ; тогда
   пусть suse="(${st[1]}-${sf[1]})*100/${st[1]}"
 еще
   использовать=0
 фи
 printf "%17s%10s%10s%6s
Память %9sM%9sM%9sM%5s%%
Поменять местами %9sM%9sM%9sM%5s%%
" 'Всего' 'Использовано' 'Ср./Свободно' 'Использовано%' \
   $mtmb $mumb $mamb $muse \
   $stmb $сумма $sfmb $suse
}
Mozhi avatar
флаг us
Спасибо за ответ, но я все еще вижу несоответствие в окончательных числах с вашим скриптом, я не говорю ничего плохого в вашем скрипте, но базовые цифры, сообщаемые vm, могут вводить в заблуждение. На 4cpu 8GB RAM VM Общее использованное среднее/бесплатное использование, % Память 7821M 6377M 1443M 81% Обмен 1295M 5M 1290M 0%
Mozhi avatar
флаг us
НА 2 cpu 4GB RAM VM Общее использованное среднее/бесплатное использование, % Память 3789M 3209M 579M 84% Обмен 1295M 63M 1232M 4%

Ответить или комментировать

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