如何處理伺服器load高問題

2022-08-01 08:51:12 字數 1003 閱讀 8342

(#)前瞻:前一段經常發現系統load高,機器一直報警,其實針對與load高,初步的想法(1).死迴圈,導致一直占用cpu (2).jvm虛擬機器在不停的fgc,但是並不能減輕系統壓

力,導致系統一直嘗試fgc,服務不可用,cpu彪高

(#)然而問題來了,具體怎麼檢查處理呢?首先,這樣,我們先寫一段**來模擬這種情況

執行了這段**之後,我們會發現cpu的情況,這時候cpu已經彪起來了

並且我們可以看到是21094這個程序占用大部分的cpu,下面就簡單多了,我們只需要找到這個程序裡面哪些執行緒占用大部分cpu

這個時候可以發現21328這個執行緒占用了99%的cpu,那麼剩下的我們需要列印出來這個執行緒的棧資訊,轉換21328為16進製制,結果5350

這樣其實可以很清晰的看出來,這個執行緒在執行我們的迴圈**,所以很容易就定位了問題。

(#)如何這個時候我們發現沒有解決問題,也就是發現這個執行緒是gc執行緒的時候,雖然沒有直接的解決問題,但是我們知道我們的系統正在gc,這個時候就需要分析

dump資訊了.

可以參考這個部落格,其實寫的不錯,我就不重複寫了,沒有意義

伺服器如何處理資料

1.排隊列處理機制。資料湧入伺服器,但還是能夠區分先後順序,按照資料傳輸時序將資料摘要排入佇列,然後伺服器按佇列依次進行處理。2.資料分類機制。資料分類和優先順序處理一起使用,將資料按照不同的型別進行分類,例如,可以將裝置狀態分為一類資料,將監控資料分為一類資料,將操作員正常操作裝置資料分為一類,將...

伺服器如何處理http請求

了解服務端如何處理http請求,了解基本的處理流程 處理http請求分為7個步驟 建立一條tcp鏈結,若之前不存在持久鏈結keep alive 把客戶端的ip和port,服務端的ip和port資料放到web伺服器連線表中。伺服器隨時監聽鏈結表中的鏈結,看有沒有資料變化 一旦我們傳送http請求了,這...

伺服器如何處理大量資料?

當大量裝置連線伺服器,大量資料上傳到伺服器,伺服器要如何提高處理能力,來處理這些資料,資料來源為裝置資料。伺服器處理資料十六建議可以從下面幾個方面考慮,1.排隊列處理機制。資料湧入伺服器,但還是能夠區分先後順序,按照資料傳輸時序將資料摘要排入佇列,然後伺服器按佇列依次進行處理。2.資料分類機制。資料...