當指定 --never-swap 時,ubuntu 18 上的 uWSGI 突然失敗

當指定 --never-swap 時,ubuntu 18 上的 uWSGI 突然失敗

我在 ubuntu 18 (18.04.5 LTS) 上使用 uWSGI。最近它停止工作 - 我在啟動時收到此錯誤:

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

我的情況沒有任何改變,但伺服器設定為自動升級。以root身份運行uwsgi是有效的,但是作為www-data(這是我通常運行它的方式)失敗了。

經過一番嘗試和錯誤後,事實證明該--never-swap選項導致了這種情況 - 當然,當我刪除它時,它又起作用了。

所以我可以忍受刪除--never-swap,但我很想知道為什麼會發生這種情況。是否有一些新的安全功能可以防止非 root 使用者鎖定記憶體頁面 - 這就是文件所說的此選項的作用 -uWSGI 文件在這裡

答案1

非特權進程需要 CAP_IPC_LOCK 功能才能鎖定記憶體頁。很可能有人(您或其他管理員)手動設定了此功能,然後在安裝最近的更新後它當然就消失了。

相關內容