1. 程式人生 > >pid max導致fork: Cannot allocate memory 的處理

pid max導致fork: Cannot allocate memory 的處理

ima oss 系統 bbf 海外 遊戲 控制臺 處理 not

海外一臺服務器淩晨就開始出現了不能登錄遊戲。早上運營人員告知上服務器查看了下。

一打命令就界面提示 -bash: fork: Cannot allocate memory

輸入了幾次top 出來了才出來了,一看也還有內存剩余的。

想看看其他命令都查看不到,只能讓運營方控制臺上重啟服務器先。
技術分享圖片

就著查看有關這樣提示的問題

重啟之後查看有關進程和線程,發現jdk的線程一直在增加,應該是這個一直只增不放導致了超過系統默認的kernel.pid_max=32678

技術分享圖片

只有找研發去優化代碼。

系統這邊也只能先把kernel.pid_max調高些。

###
查看最大進程數 sysctl kernel.pid_max

ps -eLf | wc -l查看進程數

確認是進程數滿了
修改最大進程數後系統恢復
echo 1000000 > /proc/sys/kernel/pid_max

永久生效
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p

參考:pid max導致fork: Cannot allocate memory 的分析及解決辦法
https://blog.csdn.net/onlyellow/article/details/51917757

參考:-bash: fork: Cannot allocate memory 問題的處理
https://blog.csdn.net/woshizhangliang999/article/details/66473884

pid max導致fork: Cannot allocate memory 的處理