Ctrl K
Mid-level · Theory

Ваш процесс на сервере с 16 гигабайтами памяти показывает в top VIRT 40 гигабайт, RES 2 гигабайта, а потом его внезапно убивает OOM killer. Объясните, как устроена память процесса в Linux, что означают эти цифры и как процесс мог дойти до OOM.

~4 min by voice

How to approach it

Проверяют, понимает ли кандидат модель памяти Linux: виртуальное адресное пространство, ленивое выделение страниц и overcommit, и может ли из этого объяснить, почему большой VIRT не страшен, а OOM приходит «внезапно» — в том числе из-за лимита cgroup.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Where it's asked
Similar questionsКак один процесс сервера может держать десятки тысяч открытых соединений? Расскажите, что такое файловый дескриптор, как работает epoll и почему он лучше select, и что делать, если сервис падает с «too many open files». Mid-levelВоркер на Python за сутки работы разрастается по памяти с двухсот мегабайт до трёх гигабайт. Как вы будете искать утечку? Mid-levelКак в CPython устроено управление памятью? И как бы вы искали утечку памяти в долгоживущем Python-процессе? SeniorКак в Python устроено управление памятью? Каким образом удаляются объекты, которые больше не нужны? JuniorВаш Django-сервис работает под gunicorn, и на каждом сервере воркеры съедают всю память. Как вы спроектируете конфигурацию воркеров и что сделаете с потреблением памяти? Senior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~4 min