Kernel Panic к 30 годам: почему выгорание — это не психология, а переполненный кэш и отказ ночного бэкапа
Наверняка многие из вас ловили этот момент. На часах 02:00, вы наконец-то захлопываете крышку макбука. Глаза песочит, поясница ноет. Вы ложитесь в кровать и... тишина. Физическое тело истощено в ноль, но в голове на максимальных оборотах продолжает крутиться бесконечный цикл while(true). Вы рендерите архитектуру, прокручиваете недавний напряженный синк с продактом, дебажите код без монитора и пытаетесь оптимизировать SQL-запрос, который уперся в потолок по I/O.
Утром вы просыпаетесь с ощущением, что по вам проехал каток. Первая мысль: дожить до кофемашины. Вторая: дожить до выходных.
По-моему, наша IT-индустрия совершила фатальную ошибку, когда романтизировала депривацию сна. Мы привыкли относиться ко сну как к досадной необходимости. Как к выключению из розетки (sudo shutdown -h now), во время которого система просто простаивает и не приносит пользы бизнесу. Но если копнуть в современную нейробиологию, выяснится неприятная вещь. Сон является самым ресурсоемким и активным процессом обслуживания нашей системы. Если мы не спим, мы не «работаем больше». Мы просто копим критические ошибки в ядре.
Давайте разберем эту проблему так, как мы привыкли: через архитектуру, дебаггинг и системные протоколы. И начнем, пожалуй, с главного бага в нашей прошивке.
Читать далее