問題:根據觀察進程使用系統性能,和日誌 ,發現geth 命令使用內存逐漸增長,導致內存溢出,系統殺死進程
解決方案:
1:增加節點服務器硬件性能
2:劃分/擴充swap分區(用來放內存溢出的)
實現步驟:
- 查看下系統是否配置過分區
swapon -s
(下圖 根下面的 swapGeth 是我自己創建的swap文件,系統如果未配置,則無返回)
也可以使用free -m
來查看系統的整體內存使用情況,這裏可以看到內存和swap的使用狀態(顯示單位爲MB)圖片裏swap 對應的total 列 有值
2. 創建自己的swap文件,文件大小一般情況爲內存的兩倍, 我選擇的是根目錄, 所以 使用命令 sudo fallocate -l 16G /swapGeth
查看文件大小 使用 ls -lh /swapGeth
3. 啓用swapGeth 這個文件,爲了保證服務器的安全性,可以修改下文件的權限 命令供參考 sudo chmod 600 /swapGeth
,其次輸入 sudo mkswap /swapGeth
此命名用於告訴系統此文件用於swap
4. 讓swapGeth 永久生效 編輯 /etc/fstab 這個文件 ,在末尾加入一行 /swapGeth swap swap sw 0 0
然後保存退出就可以了