Что такое физическая память?devops-56

Определение физической памяти

Физическая память (RAM - Random Access Memory) — это энергозависимое аппаратное устройство, которое:

  • Хранит данные и инструкции для быстрого доступа CPU
  • Имеет ограниченный объем (в отличие от виртуальной памяти)
  • Работает на порядки быстрее дисковых накопителей

Технические характеристики

1. Организация памяти

  • Разделена на страницы (обычно 4KB)
  • Адресуется через физические адреса
  • Управляется контроллером памяти

2. Основные показатели

free -h
# Пример вывода:
              total        used        free      shared  buff/cache   available
Mem:            15Gi       4.2Gi       1.1Gi       512Mi       9.7Gi        10Gi

Где:

  • Total — общий объем RAM
  • Used — используемая память
  • Free — полностью свободная
  • Buff/cache — кэш, который можно освободить

Как Linux использует физическую память?

1. Распределение памяти

  • Ядро (```100-400MB)
  • Процессы пользовательского пространства
  • Кэш страниц (Page Cache)
  • Буферы (Buffers)

2. Просмотр использования

cat /proc/meminfo
# Ключевые параметры:
MemTotal:       16248572 kB
MemFree:         1234567 kB
MemAvailable:   10234567 kB
Buffers:          234567 kB
Cached:          5678901 kB

Типы физической памяти в Linux

1. NUMA

numactl --hardware
# Вывод:
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3
node 0 size: 8192 MB
node 1 size: 8192 MB

2. HugePages

Для оптимизации работы с большими объемами:

grep Huge /proc/meminfo

Управление физической памятью

1. Ограничение процессов

ulimit -v 500000  # Ограничение виртуальной памяти (KB)

2. Очистка кэша

sync; echo 3 > /proc/sys/vm/drop_caches

Уровни:

  • 1 — очистка PageCache
  • 2 — очистка dentries и inodes
  • 3 — полная очистка

3. Настройка swappiness

sysctl vm.swappiness=10

(0-100, где 0 - минимум использования swap)

Мониторинг и диагностика

1. top/htop

top -o %MEM  # Сортировка по использованию памяти

2. Инструменты анализа

vmstat -s  # Статистика использования
smem -p   # Память процессов в процентах

3. Отладка OOM

dmesg | grep oom

Резюмируем:

  • Физическая память — аппаратный ресурс быстрого доступа
  • Linux эффективно управляет RAM через кэши и буферы
  • Ключевые метрики: MemTotal, MemAvailable, Buffers, Cached
  • Оптимизация: NUMA, HugePages, настройка swappiness
  • Мониторинг: free, /proc/meminfo, специализированные утилиты

Профессиональный совет: Всегда анализируйте MemAvailable вместо MemFree для реальной оценки свободной памяти!