uWSGI в Ubuntu 18 внезапно дает сбой, если указан параметр --never-swap

uWSGI в Ubuntu 18 внезапно дает сбой, если указан параметр --never-swap

Я использую uWSGI на Ubuntu 18 (18.04.5 LTS). Совсем недавно это перестало работать - при запуске я получал эту ошибку:

Fatal Python error: Cannot recover from MemoryErrors while normalizing exceptions.

Ничего не изменилось с моей стороны, но сервер был настроен на автоматическое обновление. Запуск uwsgi от имени root сработал, но от имени www-data (как я обычно его запускаю) не удался.

После нескольких проб и ошибок выяснилось, что --never-swapпричиной была эта опция. Когда я ее удалил, все снова заработало.

Так что я могу жить с удалением --never-swap, но мне бы хотелось узнать, почему это произошло. Это какая-то новая функция безопасности, которая не позволяет пользователям без прав root блокировать страницы памяти — в документе говорится, что эта опция делает именно это —документация uWSGI здесь.

решение1

Непривилегированному процессу нужна возможность CAP_IPC_LOCK для блокировки страниц памяти. Скорее всего, кто-то (вы или другой администратор) установил эту возможность вручную, а затем она, конечно, исчезла, когда было установлено последнее обновление.

Связанный контент