Я использую последнюю версию HAProxy 1.5 (dev15), и я заметил, что после того, как HAProxy некоторое время работал, его использование памяти постепенно увеличивается с 0,9% от общей памяти до 1,9% и остается там, даже когда есть больше нет входящих запросов.
Дело в том, что поскольку мой сайт новый, и он постоянно меняется, я почти уверен, что к нему почти не поступает никаких запросов, кроме тех, которые были получены при моем собственном тестировании. Мои тесты обычно длятся около 10-20 минут, и по завершении я выключаю серверы за HAProxy и оставляю HAProxy работающим. Другими словами, дополнительный 1% памяти, вероятно, вызван обработкой моих запросов во время тестов, но разве HAProxy не должен выпускать их, когда серверы выключены и никто больше не делает запросов?
Может кто-нибудь объяснить вероятную причину (ы) такого потребления памяти HAProxy?
Нет, не должно. Операционная система будет выделять физическую память так, как ее лучше всего использовать, независимо от того, сообщает об этом приложение или нет. В частности, освобождение памяти просто добавит накладных расходов при повторном использовании памяти, поскольку приложение должно будет запрашивать ее у операционной системы.
Просто ничего не делая, приложение сохраняет память до тех пор, пока операционная система не может ее лучше использовать. И он может использовать его снова, не обращаясь к операционной системе. Операционная система может использовать его для других целей, если это необходимо. Так что это лучшая ситуация вокруг.