喂:伺服器掛掉了,你查檢視問題,然後處理下。
我:好的。
從日誌看幾乎所有的logic日誌全都掛掉,不再列印日誌,然後logic程序僵死,占用cpu百分90多,有些可怕。
第一反應是邏輯迴圈問題。
因為是公司自己的框架採用lua編寫。單程序單執行緒。
網上找了很多這個,查了下都是top -h , jstack, gdb等。
但是對於我們的專案不管用啊,jstack不能用,gdb沒有,top -h 是單執行緒單程序。就顯示一行沒了。
然後看了下掛掉的日誌,都是在凌成00:00分掛掉的,然後想到了定時器問題,(我們專案會在這個時間點,定時處理一些事情)
加上當天更新了資料片,新的**。然後使用git log 檢視到底策劃加了什麼**,對比定時器的問題。找到新增的新**。
然後逐個對比,這個效率很慢,可是沒辦法,就這樣磨著磨著,發現策劃加的乙個表定時器時間設定為-1.
這個肯定有問題啊, 然後通過封裝的定時器**,找到源**,新增了乙個驗證
assert(time>=0 )
殺死對應的logic程序,重啟,然後全服更新**。
至此解決。
記一次伺服器 cpu 過高 問題
先看了當前測試機是否有在跑的指令碼 crontab l 列出當前使用者定時服務內容 crontab e 編輯當前使用者的定時服務檢視後沒有。如果有,就看找那個時間段會卡死,進而縮小範圍。我這個測試機,沒有乙個固定的時間。檢視nginx error log 日誌 找到nignx.conf檔案,開啟 有...
linux伺服器(雲伺服器)快取占用過大問題解決
不知道伺服器是什麼原因,有些時候 buff cache 非常囂張,占用了大量記憶體,buff cache你不幹活還占用那麼多資料,實在是叔可忍,嬸子不可忍 廢話不多說,直接來解決辦法 自己動手寫乙個定時清理快取的指令碼 切換到 root目錄下 建立清理的指令碼 touch cleancache.sh...
記一次伺服器事故
mysql資料庫報錯 can t create write to file tmp sql 6ccc 0.myi 在開始刪除之後,所有服務就已經恢復正常執行了,接下來就是優化那個session了,哎又是埋坑.最後附上inode擴容的方法 但是需要注意,手動擴inode,一般是新建分割槽時設定的,該操...