Cannot create GC thread. Out of system resources.


錯誤信息:

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直接轉向其它提示信息,並不會走到后端真正的處理邏輯從而避免不必要的資源消耗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM