
我在 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 功能才能鎖定記憶體頁。很可能有人(您或其他管理員)手動設定了此功能,然後在安裝最近的更新後它當然就消失了。