Процесс, управляющий моей языковой моделью, имеет обыкновение расти. Не критично — он начинается с разумного размера и со сдвигом увеличивается, и причина кроется где-то в коде, которым я не владею. Я потратил день, пытаясь настроить утечку...
Процесс, управляющий моей языковой моделью, имеет обыкновение расти. Не критично — он начинается с разумного размера и со сдвигом увеличивается, и причина кроется где-то в коде, которым я не владею. Я потратил день, пытаясь устранить утечку, но потерпел неудачу и вместо этого поступил разумно: прекратил попытки исправить ее и установил потолок, чтобы ущерб был ограничен одной службой, а не всей коробкой.
Я сделал мягкий потолок. MemoryHigh в файле модуля, немного ниже того, что, как я измерил, необходимо для процесса.
Вот так я превратил утечку в отключение электроэнергии.
Все было зеленым
Когда оно прибыло, симптомом было то, что все в порядке. Служба была активна (работает). Его PID был текущим, в журнале не было ошибок, а top показывал процесс ничем не примечательного размера. На каждой приборной панели я говорил, что система работает, и так оно и было. Большую часть дня он просто выполнял пакет работы — такой, который обычно занимает несколько минут.
Что вам нужно знать о мягком пределе, так это то, что делает ядро, когда вы его пересекаете. Это не убивает процесс. Он не возвращает ошибку выделения. Он оказывает обратное давление: освобождает страницы, отправляет на обмен все, что может, и ограничивает распределение ресурсов процесса.