記一則伺服器記憶體洩漏解決過程

流浮生發表於2020-11-18

故事背景

很早之前用表弟的學生證薅了一個阿里雲低配的主機,前段時間快到期也一隻沒續費等到過期啦才想起來要續費,還好趕在伺服器資料清除之前續費成功,但當我登入到伺服器中發現有點卡不流暢這是什麼情況,而且發現伺服器中 docker 無法執行.

事件排查

當在伺服器執行 docker 時會抱如下錯誤:
在這裡插入圖片描述
fatal error: runtime: out of memory很明顯伺服器記憶體洩漏,撐爆了。

解決方式

排查原因發現是由於一個 gitlab 程式導致,殺掉 gitlab 相關程式服務正常使用但是發現在瀏覽器中還是無法正常訪問到伺服器的服務,但是服務地址(網址)可以正常 ping 通,使用 netstat -anp | grep :80 發現 nginx 沒起。

  • 使用 nginx -s reload 報錯如下
# nginx -s quit
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
  • 解決方式
# 使用如下命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (使用nginx -c的引數指定nginx.conf檔案的位置)

# 再次重啟 ngin 服務正常啟動,伺服器中的服務也可正常訪問
nginx -s reload

相關文章