TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.64K subscribers
Post #985 1.52K
Смотрим, какие библиотеки реально отображены в адресное пространство процесса!

Когда приложение падает из-за несовместимой или отсутствующей библиотеки, ldd полезен, но он показывает, как динамический загрузчик разрешает зависимости для бинаря, а не текущее состояние уже запущенного процесса.

Если нужен точный ответ, что уже замаплено в память, используем /proc.

Сначала находим PID процесса:
pgrep -a python


Допустим, это 1234. Теперь смотрим, какие shared objects отображены в его адресное пространство:
grep '\.so' /proc/1234/maps


Что здесь важно: /proc/<pid>/maps — карта памяти процесса; каждая строка — отдельный участок памяти; если в строке есть путь к .so, значит есть файловый маппинг этого объекта.

Пример:
7f2c1a000000-7f2c1a200000 r-xp ... /usr/lib/x86_64-linux-gnu/libssl.so.1.1


Это означает, что в адресном пространстве процесса есть маппинг этой версии libssl (и, с высокой вероятностью, она используется процессом).

Если нужен список без дублей:
grep '\.so' /proc/1234/maps | awk '{print $6}' | sort -u


Практический кейс — конфликт версий после обновления: систему обновили, новая библиотека уже лежит на диске, а процесс всё ещё держит старую версию в памяти.

Проверить можно так:
ls -l /proc/1234/map_files/


Если у файла есть пометка (deleted), это сильный сигнал: файл на диске уже удалён или заменён, но процесс продолжает использовать старый inode через существующий маппинг.

🔥 Что важно помнить: изменения на диске не влияют на уже загруженные библиотеки в работающем процессе, после обновления библиотек сервисы обычно нужно перезапускать, доступ к /proc/<pid> и особенно map_files может быть ограничен правами.

🚪 Linux Ready | #практика
  • 👍 10
  • ❤ 7
  • 🔥 7
  • 🤝 1
More from @devops_ready
  1. Oct 2, 2026Знали, почему настройки systemd-сервиса лучше менять через systemctl edit? Допустим, прило…
  2. Oct 2, 2026⚡️5 фундаментальных курсов по ИБ по цене одного Это предложение для тех, кто готов войти в…
  3. Oct 2, 2026Этот инструмент поможет поять из чего на самом деле состоит Docker-образ! Он содержит терм…
  4. Oct 1, 2026Проверяем итоговую конфигурацию Docker Compose перед запуском! Когда проект использует баз…
  5. Oct 1, 2026Шпаргалка по жизненному циклу Pod в Kubernetes! На картинке показано, как запрос проходит…
  6. Sep 30, 2026DevOps Daily собирает материалы по инфраструктуре! На сайте есть разборы Docker, Kubernete…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →