Как использовать память (используя RAM) с помощью команды Linux?

Я пытаюсь извлечь использованную память (ОЗУ) в процентах с помощью команд Linux. Моя cpanel показывает используемую память, которую мне нужно отображать на определенной веб-странице.

Из форумов я узнал, что правильная память может быть найдена из следующего:

  • Уменьшает ли окно использование свободной памяти?
  • Могу ли я определить свою оперативную память без отключения Linux?
  • Получение данных из mem-кеша
  • nmap не отображает список открытых портов
  • Есть ли короткий способ просмотра верхнего использования ресурсов (процессор, память или даже пропускная способность) программы после ее запуска?
  • Почему в компании evolution-calendar-factory используется так много виртуальной памяти?
  • free -m 

    Результат:

     -/+ buffers/cache: 492 1555 

    – / + buffers / cache: содержит правильное использование памяти. Я не знаю, как разбирать эту информацию или есть какая-либо другая команда, чтобы получить память, используемую в процентах.

  • Как читать из / proc / $ pid / mem в Linux?
  • Встроенный Linux OOM - помощь с потерянной оперативной памятью
  • работа в / dev / shm вызывает переполнение
  • Непредсказуемые взрывы памяти
  • частная память, рассчитанная на pmap, комбинация размера виртуальной памяти и размера резидентной памяти?
  • Как отслеживать источник всплесков ввода-вывода?
  • 4 Solutions collect form web for “Как использовать память (используя RAM) с помощью команды Linux?”

    Вот пример вывода из бесплатного:

     % free total used free shared buffers cached Mem: 24683904 20746840 3937064 254920 1072508 13894892 -/+ buffers/cache: 5779440 18904464 Swap: 4194236 136 4194100 

    Первая строка номеров ( Mem: 🙂

    • total память
    • used память
    • free память
    • использование shared
    • использование buffers
    • cached файловой системы использования ( cached )

    В этой строке used буферы и кеш, и это влияет бесплатно. Это не ваша «истинная» свободная память, потому что система будет при необходимости кэшировать кеш для удовлетворения запросов на распределение.

    Следующая строка ( -/+ buffers/cache: дает нам фактическую использованную и свободную память, как если бы не было буферов или кешей.

    В последней строке ( Swap ) используется использование swap-памяти. Для обмена нет буфера или кеша, так как это не имеет смысла помещать эти вещи на физический диск.

    Для вывода используемой памяти (минус буферы и кеш) вы можете использовать команду:

     % free | awk 'FNR == 3 {print $3/($3+$4)*100}' 23.8521 

    Это захватывает третью строку и делит используемую / общую * 100.

    И для свободной памяти:

     % free | awk 'FNR == 3 {print $4/($3+$4)*100}' 76.0657 

    Я собираюсь упомянуть о том, как разбирать информацию о free команде. Чтобы найти процент, вы можете использовать, как предложено в других двух ответах.

    Это ясно объясняется здесь . Я попытаюсь объяснить, что у меня в моей системе.

     free -m total used free shared buffers cached Mem: 7869 4402 3466 0 208 3497 -/+ buffers/cache: 696 7173 Swap: 3999 216 3783 

    Теперь давайте посмотрим, что представляют собой различные числа.

    Линия 1

    • 7869 Указывает память / физическую память, доступную для моей машины.
    • 4402 Указывает память / ОЗУ, используемые моей системой.
    • 3466 Указывает, что полная RAM свободна и доступна для запуска нового процесса.
    • 0 Указывает общую память. Эта колонка устарела и может быть удалена в будущих выпусках бесплатно.
    • 208 Указывает общую RAM, буферизуемую различными приложениями в Linux.
    • 3497 Указывает общую ОЗУ, используемую для кэширования данных для будущей цели.

    Line2

     -/+ buffers/cache: 696 7173 

    Как рассчитать значения 696 и 7173, полученные в Line2?

    Общее количество использованных ( 4402 ) – общая буферная RAM ( 208 ) – общая ОЗУ для кэширования ( 3497 ) должна составлять фактическую использованную ОЗУ в системе. Он возвращает мне 697, который является фактическим используемым выходом RAM во второй строке.

    Теперь Total Available ( 7869 ) – Actual Used ( 696 ) должен предоставить вам свободную память, которая в этом случае равна 7173, которая также получается как выход во второй строке.

    Хотя дубликат, на который указывает @szboardstretcher, мое предпочтение от решений (в исходном вопросе) является приведенным ниже, особенно потому, что вы хотите проанализировать веб-страницу.

     $ free | awk '/Mem/{printf("used: %.2f%"), $3/$2*100} /buffers\/cache/{printf(", buffers: %.2f%"), $4/($3+$4)*100} /Swap/{printf(", swap: %.2f%"), $3/$2*100}' 

    Вывод:

     used: 82.68%, buffers: 42.81%, swap: 1.27% 
     free | awk '/Mem/{printf("used: %.2f%"), $3/$2*100} /buffers\/cache/{printf(", buffers: %.2f%"), $4/($3+$4)*100} /Swap/{printf(", swap: %.2f%\n"), $3/$2*100}' 

    Добавляет новую строку после номера подкачки

    Linux и Unix - лучшая ОС в мире.