Cannot create GC thread. Out of system resources.
阿新 • • 發佈:2020-10-23
錯誤資訊:
Cannot create GC thread. Out of system resources.
問題背景:
使用普通使用者部署專案報這樣的錯誤資訊。
錯誤原因:
Linux是有檔案控制代碼限制的,而且Linux預設不是很高,一般都是1024,生產伺服器用其實很容易就達到這個數量。
也就是說普通使用者有軟硬體的限制。這不是授權就可以解除的。
解決辦法:
cd /etc/security/limits.d vim 20-nproc.conf
修改如下內容:
檔案原內容:
* soft nproc 4096 root soft nproc unlimited
檔案修改後的內容:
* soft nproc unlimited
root soft nproc unlimited
最終使用普通使用者部署就不會再出現這樣的錯誤了。
另外之所以做這樣的限制是為了避免前端請求,後端處理時,一些惡意的請求導致對應的程序會增加,從而佔用記憶體。如果不做一定的限制,可能會使得整個伺服器宕機。這也就是為什麼前端介面要鑑權,後臺要有一個機制來識別哪些是惡意的請求。之前一直覺得微服務元件Sentinel沒用,但後來發現其實它還是有用的,至少它可以在一定程度上起到一個識別是否是正常請求的作用,對於哪些頻繁的惡意請求,Sentinel直接轉向其它提示資訊,並不會走到後端真正的處理邏輯從而避免不必要的資源消耗