記一次伺服器掛掉,cpu佔用過大的問題
凌晨一點電話:咚咚咚
喂:伺服器掛掉了,你查檢視問題,然後處理下。
我:好的。
從日誌看幾乎所有的logic日誌全都掛掉,不再列印日誌,然後logic程序僵死,佔用cpu百分90多,有些可怕。
第一反應是邏輯迴圈問題。
因為是公司自己的框架採用lua編寫。單程序單執行緒。
網上找了很多這個,查了下都是top -H , jstack, gdb等。
但是對於我們的專案不管用啊,jstack不能用,gdb沒有,top -H 是單執行緒單程序。就顯示一行沒了。
然後看了下掛掉的日誌,都是在凌成00:00分掛掉的,然後想到了定時器問題,(我們專案會在這個時間點,定時處理一些事情)
加上當天更新了資料片,新的表格。然後使用git log 檢視到底策劃加了什麼表格,對比定時器的問題。找到新增的新表格。
然後逐個對比,這個效率很慢,可是沒辦法,就這樣磨著磨著,發現策劃加的一個表定時器時間設定為-1.
這個肯定有問題啊, 然後通過封裝的定時器程式碼,找到原始碼,添加了一個驗證
assert(time>=0 )
殺死對應的logic程序,重啟,然後全服更新程式碼。
至此解決。
相關推薦
記一次伺服器掛掉,cpu佔用過大的問題
凌晨一點電話:咚咚咚 喂:伺服器掛掉了,你查檢視問題,然後處理下。 我:好的。 從日誌看幾乎所有的logic日誌全都掛掉,不再列印日誌,然後logic程序僵死,佔用cpu百分90多,有些可怕。 第一反應是邏輯迴圈問題。 因為是公司自己的框架採用lua編寫。
記一次伺服器被挖礦程式佔用的解決過程
公司有臺做voip的伺服器最近CPU總是跑滿,這機器自從交給廠家搭好環境後基本就沒怎麼管它,於是進去檢視程序,top了下(見下圖) 這個叫wnTKYg的程序很詭異,已經把CPU吃光了,上網一查,原來是中了挖礦的馬。(啊,我的天。這只是一個單核1G記憶體的阿里雲主機)既然被**
記一次伺服器CPU異常處理流程
上線新版本後cpu飆升,配置什麼都沒變! 1,著手調查馬上檢視慢查詢,沒有慢查詢 2,檢視慢php程序tail -f log.slow,定位到方法函式圖片轉指令方法耗時大,和cpu損耗掛鉤,基本猜測這個函式方法,但沒有優化空間 3,不死心,查一下程序耗損掛起點:ll /proc/PID號/f
記一次伺服器Tomcat優化經歷
公司需要一臺測試伺服器來做測試用,所以花了點時間把服務全部部署好,在部署好war包之後,發現Tomcat訪問超級慢。 1、進入Tomcat的bin目錄下,執行 ./catalina.sh run命令,在前臺列印執行資訊,首先看其有沒有報錯。好,沒有報錯,進行下一步。 1)修改你的jdk目錄下/
記一次伺服器被爆破 防護歷程
在騰訊雲搞了一個雲主機, 安裝了寶塔的服務, 第三天登陸 後臺發現有兩個ip在爆破root 密碼, 雖然對自己的密碼強度比較自信, 但是被人惦記也是很難受。決定做點什麼 。。。。 直接進入正題: 1. 最基本的建議就是:平時登陸和工作的時候都使用普通使用者進行操作 直接禁用root
記一次後端開發者,如何完成前端下拉框三級聯動功能?
前言 下拉框三級聯動這個對於我們大家都很常見,經常在註冊一些資訊的時候,需要選取省市縣等資訊,我需要完成的就是這個功能。 但是無奈這個專案沒有前端開發,而我是一個~專注夾克20年~咦,勁霸男裝?哦~不,是專注後端開發5年~早期學習的jquery,還能記起的常用方法不多了~就知道$("#id")~~~ 但
記一次伺服器inodes數報警的事件
1 # df -i 執行以上命令,發現/上的 inodes 佔用率為81%,於是開始處理。 首先找出哪個目錄底下檔案數最多: 1 # cd / 2 # for i in $(ls);do echo ${i} && find ${i} | wc -l;done
記一次伺服器擴盤
問題:測試伺服器突然zk掛了,重新啟動後根本起不了,發現報錯: 查詢後發現根分割槽爆滿: 解決問題: 一、在虛擬機器上增加新盤 1、增加盤後將盤分割槽 [[email protected] ~]# fdisk /dev/sda Welcome to fdis
記一次伺服器被黑經歷
從接手公司伺服器兩個半星期經常性的無法正常ssh登陸,十次裡面有九次半都是顯示 ssh_exchange_identification:read:connection reset by peer 也谷歌很多種原因和解決方案,無非是分兩種:一是執行緒滿了,需要更改
記一次伺服器被攻擊經歷
從接手公司伺服器兩個半星期經常性的無法正常ssh登陸,十次裡面有九次半都是顯示 ssh_exchange_identification:read:connection reset by peer 也谷歌很多種原因和解決方案,無非是分兩種:一是執行緒滿了,需要更
記一次伺服器上配置GPU版本tensorflow的經歷
早就耳聞tensorflow-gpu與CUDA,cudnn三者之間版本匹配很複雜,今天算是見識到了。 首先看了下伺服器上的CUDA、cudnn版本,分別是CUDA8.0,cudnn7.0.4 這個匹配很奇怪,一般都是CUDA8 + cudnn6或者 CUDA9 + cudnn7 後來知
【linux】記一次httpd服務正常,http不能訪問的慘痛教訓
記一次httpd服務啟動正常,http服務死活不能訪問的問題記錄。 1.在linux下,使用ps和grep檢視httpd服務 # ps aux | grep httpd root 7579 0.0 0.0 3872 656 pts/1
記一次WebView使用異常,點選搜尋引擎頁內的超連結,無法跳轉到相應的頁面
事情是這樣的,有業務需求需要使用yandex(www.yandex.ru)這個搜尋引擎搜尋內容,在自己的activity裡面建立了一個webview,webview load這個搜尋引擎搜尋關鍵字(隨便一個關鍵字都可以),大概介面如下:隨便點選其中的連結項,正常情況下希望能l
伺服器掛掉,通過.IBD檔案恢復資料
開發中使用某伺服器廠商導致資料庫還原不了,使用ibd檔案恢復資料折騰了一天。分享出來mysql:#Innodb_file_per_table=1#設定日誌方便除錯log-error="F:/jspStudy/MySQL/error.log"到目錄下開啟命令列:tail -f
記一次服務釋出之後,圖形驗證碼亂碼的服務排查
由於業務拓展,新買了臺系統為centOS7的伺服器,配置完jdk和nginx之後,將服務釋出到伺服器上並部署啟動,然後重新整理頁面,神奇的事情就出現了:第一個想到的問題,就是進行本地除錯,發現一切正常;於是在生成驗證碼文字的地方加上了logger輸出,再次釋出程式到伺服器上,
linux 記一次httpd服務正常,http不能訪問的慘痛教訓
記一次httpd服務啟動正常,http服務死活不能訪問的問題記錄。 1.在linux下,使用ps和grep檢視httpd服務# ps aux | grep httpd root 7579 0.0 0.0 3872 656 pts/1 S+ 17:48 0:00 grep h
記一次Task拋異常,呼叫執行緒處理而引發的一些隨想
記一次Task拋異常,呼叫執行緒處理而引發的一些隨想 多執行緒呼叫,任務執行緒丟擲異常如何在另一個執行緒(呼叫執行緒)中捕獲並進行處理的問題。 1.任務執行緒在任務執行緒執行語句上丟擲異常。 例如: 1 private void button2_Click(object sender, EventAr
記一次Mybatis+Oracle, 資料多且日期間隔大時, 查詢非常慢解決過程
前兩天發現一個sql在專案執行時查詢時間的很長, 但sql在PLSql中查詢時只要1s左右, 以下是原sql:SELECT MAX(data) DATA_VALUE FROM ( SELECT A.FREEZE_TIME, SUM(A.AP * T2.add_att
學習hadoop遇到的問題(記一次阿里雲伺服器被惡意掛木馬,CPU100%)
在我剛開始學習時,把防火牆,安全組都開放了,過了一段時間被掛上了木馬。並且殺死程序一會還啟動 解決辦法 1通過命令netstat -antlp|grep 9002檢視埠檔案地址,刪除可以檔案(java資料夾) 2.還得在安全組中關閉hadoop一些對外開放的web頁面(可以改變埠號)
記一次zabbix server掛掉的事件
src ive bsp action alert mas 但是 l數據庫 隊列 zabbix:3.0版本,采用一個server,多個proxy的模式(別人裝的,我剛入職,接手不久) 系統:Linux X86_64 配置:4 core 8G內存 經過: 上午11點,上完廁所回