伺服器CPU負載過高,如何定位問題
1,根據top命令,發現PID為12433的Java程序佔用CPU高達300%,出現故障。
2,找到該程序後,如何定位具體執行緒或程式碼呢,首先顯示執行緒列表,並按照CPU佔用高的執行緒排序:
[[email protected] logs]# ps -mp 12433 -o THREAD,tid,time | sort -rn
顯示結果如下:
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
root 10.5 19 - - - - 1626 00:12:48
root 10.1 19 - - - - 3293 00:12:16
找到了耗時最高的執行緒1626,佔用CPU時間有12分鐘了!
將需要的執行緒ID轉換為16進位制格式:
[
e18
最後列印執行緒的堆疊資訊:
[[email protected] logs]# jstack 12433 |grep e18 -A 30
將輸出的資訊進行匹配就能找出有問題的程式碼。
相關推薦
伺服器CPU負載過高,如何定位問題
CPU負載過高解決問題過程: 1,根據top命令,發現PID為12433的Java程序佔用CPU高達300%,出現故障。 2,找到該程序後,如何定位具體執行緒或程式碼呢,首先顯示執行緒列表,並按照CPU佔用高的執行緒排序: [[email protected] logs]# ps -mp 1243
伺服器cpu負載過高問題排查
第一步 :執行top命令,查出當前機器執行緒情況 top - 09:14:36 up 146 days, 20:24, 1 user, load average: 0.31, 0.37, 0.45 Tasks: 338 total, 1 running
假設生產環境出現CPU佔用過高,請談談你的分析思路和定位
0、top 1、檢視佔用cpu大的程序 jps -l 或者 ps -ef|grep java|grep -v grep&n
postgresql某進程占用cpu資源過高,降不下來
ted 影響 字段 出了 reat con sha 應該 effect 由於是開發階段,所以並沒有配置postgres的參數,都是使用安裝時的默認配置,以前運行也不見得有什麽不正常,可是前幾天我的cpu資源占用突然升高.查看進程,發現有一個postgres的進程占用CPU都
linux 排查cpu負載過高異常
問:如何定位是哪個服務程序導致CPU過載,哪個執行緒導致CPU過載,哪段程式碼導致CPU過載? 步驟一、找到最耗CPU的程序 工具:top 方法: 執行top -c ,顯示程序執行資訊列表 鍵入P (大寫p),程序按照CPU使用率排序 圖示: 如上圖,最耗CPU的程序P
CPU負載過高異常排查實踐與總結
昨天下午突然收到運維郵件報警,顯示資料平臺伺服器cpu利用率達到了98.94%,而且最近一段時間一直持續在70%以上,看起來像是硬體資源到瓶頸需要擴容了,但仔細思考就會發現咱們的業務系統並不是一個高併發或者CPU密集型的應用,這個利用率有點太誇張,硬體瓶頸應該不會這麼快就到了,一定是哪裡的業務程式碼邏輯有問題
Kafka-python 客戶端導致的 cpu 使用過高,且無法消費消息的問題
的確 fse get sum req 今天 als top report 今天遇到一個情況使用了 Kafka-python 1.3.3 來操作讀取 broker 1.0.1 版本的 kafka。出現了 rebalance 之後分配到了客戶端,但是 cpu 利用率很高且無法消
postgresql某程序佔用cpu資源過高,降不下來
由於是開發階段,所以並沒有配置postgres的引數,都是使用安裝時的預設配置,以前執行也不見得有什麼不正常,可是前幾天我的cpu資源佔用突然升高.檢視程序,發現有一個postgres的程序佔用CPU都是80%以上,而且居高不下;剛開始以為是配置上需要修改,但事實上,預設配置基本上是很優化的,而且是開發階段,
java web伺服器cpu佔用過高的處理
平時專案中有時遇到cpu過高的情況,在此基於自己有限的經驗寫個分享,此處的伺服器都是基於linux平臺。 cpu的佔有執行緒型別總的來說分為兩種: us :使用者空間佔用CPU百分比 sy :核心空間佔用CPU百分比 一般來講CPU us高的解決方法: CPU us
如何解決伺服器CPU使用率過高的問題
一、找出是因哪個站點導致的? 1、執行cmd; 2、輸入命令 iisapp –a ,如下看到連線池對應的PID,則找到是因 appPool estate站導致的; 二、如何從該站中找出問題,是由於什麼原因? 1、善用伺服器效能跟蹤工具: 如上圖: A、Number
排查tomcat伺服器CPU使用率過高
tomcat要執行依賴於JDK,tomcat伺服器的CPU使用率過高,大多都是因為部署的web程式的問題。 一、現象描述 在一次線上環境,前臺訪問頁面的速度越來越慢,從瀏覽器F12中看到發出的請求都是pengding的狀態。 二、排查過程 我這裡tomcat部署在linux環境中。下面的排查過程均在linux
面試問題---JAVA程式CPU佔用過高怎麼定位
今天一個電話面試問了這個問題。回來查了下答案,自己也順帶操作一遍,做個記錄。之前只知道jstack工具可以檢視執行緒狀態這些。比如死鎖這些,主要是之前不知道top -H -p pid這個命令的使用,這命令可以看到程序下面執行緒資訊,拿到執行緒ID,然後再結合jstack命令使用就可以解決這個問題了。下面記錄一
java問題導致linux負載、cpu過高如何定位
1.用top找到最耗資源的程序id [[email protected] bin]# top top - 16:56:14 up 119 days, 6:17, 7 users, load average: 2.04, 2.07, 2.09 Tasks: 2
排查定位由死迴圈引起的cpu負載飆高或者死鎖
在linux下: linux的top命令可以檢視程序的pid,我們找到java程式的pid, 然後執行 top -Hp pid 就可以檢視到這個程序下執行緒的執行情況。 這樣粗略可以看到哪些執行緒比較繁忙,這時候就用到jdk自帶的小工具jstack(官方文件或者自行 百度)。 我們
MYSQL "ORDER BY rand()"的坑--容易導致機器負載、CPU佔用過高
在一次微信砍價活動營銷中,使用了4核16G10M頻寬的伺服器支撐業務,本來這個配置跑個PHP+MYSQL+nginx肯定輕輕鬆的事情,可是隨著活動的高潮,併發數一高,機器負載核CPU一下子就達到100% 始終找不到原因,只知道是mysql分配的記憶體不夠,一直給它加,但是重啟m
解決線上問題-定位CPU佔用過高
如果線上伺服器CPU佔用率過高,如何定位問題呢? 1.使用 top 命令檢視佔用CPU最高的pid 2.使用 top -H -p pid或 top -Hp pid命令檢視佔用cpu最大的執行緒id即 tid 3.使用命令 printf ‘%x/n’ tid
Linux定位伺服器CPU負載100%居高不下的問題
最近,Linux伺服器上總是經常會出現幾個CPU利用率達到100%並且一直高居不下,如下圖所示,再Linux上,輸入 top 命令,然後再按一下 1,就會顯示你伺服器邏輯CPU的數量以及現在伺服器CP
伺服器CPU利用率95%以上,高耗效能sql優化
交易明細查詢模組,大於10併發以上,伺服器CPU利用率達到95%以上,負載超高,監控到如下SQL大量等待,消耗資源嚴重,需要優化sql 資料庫伺服器CPU利用率達到95%以上,負載超高,伺服器不穩定
記一次Linux伺服器top命令us負載很高,但是找不到高負載程序,引起伺服器頻繁重啟的錯誤,核心升級
最近發現一臺測試伺服器頻繁重啟,各種排錯找不到原因, 伺服器:CentOS6 核心:2.6.32-431.1.2.0.1.el6.x86_64 這裡要注意了,引起伺服器頻繁重啟的原因很有可能是核心引起的 隨後查找了目前為止有缺陷的
線上Java程式佔用 CPU 過高,請說一下排查方法?
> 我是風箏,公眾號「古時的風箏」,一個兼具深度與廣度的程式設計師鼓勵師,一個本打算寫詩卻寫起了程式碼的田園碼農! 文章會收錄在 [JavaNewBee](https://github.com/huzhicheng/JavaNewBee) 中,更有 Java 後端知識圖譜,從小白到大牛要走的路都在裡面。 這