跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
Fork: Cannot allocate memory 錯誤訊息分析及修復
資訊技術••約 1 分鐘•235 字

Fork: Cannot allocate memory 錯誤訊息分析及修復

本文目錄共 3 節

在排定每日執行兩次的 Shell Script 中,執行到一半就自行中斷了。手動執行時產生 “Fork: Cannot allocate memory” 錯誤訊息 ,檢查記憶體沒有不足的現象,判定不可能是記憶體不足產生的。在使用 Google 大神後把問題鎖定在執行中的Linux 環境中有過多程序,超過 Pid max 限制後執行程序無法被正常執行。

查看設定值

方法一:
cat /proc/sys/kernel/pid_max

方法二:
#sysctl kernel.pid_max
kernel.pid_max = 32768

解決方案

在確認目前的進程數量限制值,透過下列指令暫時修改參數值來恢復系統正常及確認問題點。

echo 1000000 > /proc/sys/kernel/pid_max

在確認修改後可以正常執行,使用下列指令來永久修改。

echo "kernel.pid_max=10000000 " >> /etc/sysctl.conf
sysctl -p

註記:
64位系統上pid_max最大值為2^22,32位系統上最大值為32768。

參考來源

查看此系列所有文章 →
CJ Kuo (郭仕杰)

CJ Kuo (郭仕杰)

創辦人兼主筆

熱愛軟體架構、DevOps、系統調優與新技術探索的工程實踐者,也會寫寫投資和生活。

獨立技術專刊推播

訂閱技術電子報

有新文章發布時寄送到您的信箱,不發送垃圾信。