導航:首頁 > 方法技巧 > 如何找到耗cpu大的方法

如何找到耗cpu大的方法

發布時間:2022-06-30 23:08:10

① Java如何定位佔用CPU比較高的問題

一、確定消耗CPU的Java進程

備註:

1、jstack 輸出的堆棧信息,線程id對應的16進制為小寫,查找時要統一按照小寫方式查找

2、jstack輸出為當前瞬間的堆棧信息,如果遇到間斷性出現CPU高的問題時,需要多輸出幾次

從上面方式定位到代碼Test.main(Test.java:4)處導致了CPU偏高的問題,那我們查看下代碼具體如何實現的?

代碼實現:

public class Test {
public static void main(String[] args) {
while(true) {

}
}
}

從代碼層面看該處實現了一個死循環,所以導致了線程佔用CPU偏高的問題。

② windows資源管理器耗電嚴重怎麼

Windows10資源管理器佔用CPU過高該怎麼辦?因為Windows7系統結束了支持,所以現在很多朋友都升級更新了Windows10系統。在使用Win10系統的過程中,發現Windows資源管理器佔用很多CPU資源,導致系統變慢、變卡等問題。那麼我們該如何解決問題?接下來小編就來教大家Win10資源管理器佔用CPU過高的解決方法,希望大家會喜歡。


Win10資源管理器佔用CPU過高的解決方法:


一、重啟Windows資源管理器


1.這個方法治標不治本,只能緩解,可能過一會就又會CPU佔用過高,具體方法:同時按住Ctrl+shift+ESC打開任務管理器


2.因為我的問題已經解決,所以可以看到CPU佔用很少,原來佔用80%多,現在選中Windows資源管理器,重啟Windows資源管理器如下:


3.重啟以後會重新載入資源管理器,我們可以看到CPU使用率已經慢慢降下來,上面也說這只是暫時一個解決辦法。


.png


4.重要提示:我們可以在CPU這一欄中看到每個軟體佔用的CPU,如果哪個軟體佔用較大,選中軟體然後結束任務或者直接卸載軟體即可,卸載之後重啟系統,如果這個解決了那麼接下來的步驟可以適當參考,沒有解決則繼續操作


二、禁用cotana(小娜) + 禁用問題收集服務


1、禁用cotana(小娜) + 禁用問題收集服務基本上可以解決問題,不會出現反復,但是也不絕對,只能說如果這個都解決不了,那麼只有看後面的終極解決方案


2、首先win + R打開運行框並輸出如下打開本地組策略:


3、依次展開


4、在Windows組件下找到搜索,單擊,可以看到右邊有三個cotana選擇,我們需要將這三個禁用


.png


5、在右邊的選項上雙擊,彈出選項框,選擇禁用,再點擊確認。


接下來就是禁用問題收集服務


1、win + R打開運行框並輸出services.msc,然後點擊確定打開服務


2、然後在本地服務中找到以下三個服務按照下列方法依次禁用


.png


.png


以上介紹的內容就是關於Win10資源管理器佔用CPU過高的解決方法

自動系統掃描:

③ 電腦cpu佔用過高怎麼處理

電腦cpu佔用過高的處理方法:

1. 打開windows任務管理器,ctrl+alt+del然後點任務管理器,點應用程序,將不使用的程序關掉。
2. 打開任務管理器後點進程,會看到cpu的佔用情況,將cpu佔用比較高的進程結束掉。
3. win+R或者開始-運行,輸入msconfig,打開系統配置,關閉不必要的啟動項,重啟。
4. 如果電腦cpu佔用仍然過高,可能是病毒、木馬造成。打開殺毒軟體進行全盤殺毒。
5. 電腦系統用的時間長了以後會越來越慢,以上方法都不能解決的話我們只好重裝系統了。

④ JVM調優jstack怎麼找出最耗cpu的線程並定位代碼

第一步:先找出java的進程Id(PID) 假設java應用名稱是zcg_commodity
ps -ef|grep zcg_commodity

得到進程Id為32464
第二步:找出該進程內最消耗CPU的線程
top -Hp pid
輸入top -Hp 32464

TIME列就是各個java線程耗費的CPU的時間,比如圖中是線程ID的為2012的線程,
通過 printf 「%x\n」 2012
得到2012的十六進制為 7dc
第三步:
一般會進到jdk的bin目錄下,root許可權執行
jstack 32464|grep 7dc

⑤ Linux裡面cpu佔用太高排查思路是什麼

思路就是top查看是什麼進程佔用高,一般是應用或者資料庫,應用方面可以看看運行吐出日誌是否有報錯信息,查netstat連接應用埠的會話是不是有異常,資料庫進程高,可以使用自帶的檢查命令後台看是否有執行很久的sql事務,鎖等待頻繁,報錯日誌等,找到問題針對性的優化,一步一步解決。

⑥ 怎麼找到找出哪個SQL語句導致cpu佔用如此高

一般我們可以使用sql server自帶的性能分析追蹤工具sql profiler分析資料庫設計所產生問題的來源,進行有針對性的處理。但我們也可以通過自己寫SQL語句來有針對性的進行性能方面的查詢。通常會用到如下三個系統視圖:sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests

--一、查看當前的資料庫用戶連接有多少
USE master

GO
SELECT *
FROM sys.[sysprocesses]
WHERE [spid] > 50
--AND DB_NAME([dbid])='gposdb'

SELECT COUNT(*)
FROM [sys].[dm_exec_sessions]
WHERE [session_id] > 50

--二、選取前10個最耗CPU時間的會話
SELECT TOP 10
[session_id] ,
[request_id] ,
[start_time] AS '開始時間' ,
[status] AS '狀態' ,
[command] AS '命令' ,
dest.[text] AS 'sql語句' ,
DB_NAME([database_id]) AS '資料庫名' ,
[blocking_session_id] AS '正在阻塞其他會話的會話ID' ,
[wait_type] AS '等待資源類型' ,
[wait_time] AS '等待時間' ,
[wait_resource] AS '等待的資源' ,
[reads] AS '物理讀次數' ,
[writes] AS '寫次數' ,
[logical_reads] AS '邏輯讀次數' ,
[row_count] AS '返回結果行數'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id] > 50
AND DB_NAME(der.[database_id]) = 'gposdb'
ORDER BY [cpu_time] DESC

--三、查詢前10個最耗CPU時間的SQL語句
SELECT TOP 10
dest.[text] AS 'sql語句'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id] > 50
ORDER BY [cpu_time] DESC

--四、查詢會話中有多少個worker在等待
SELECT TOP 10
[session_id] ,
[request_id] ,
[start_time] AS '開始時間' ,
[status] AS '狀態' ,
[command] AS '命令' ,
dest.[text] AS 'sql語句' ,
DB_NAME([database_id]) AS '資料庫名' ,
[blocking_session_id] AS '正在阻塞其他會話的會話ID' ,
der.[wait_type] AS '等待資源類型' ,
[wait_time] AS '等待時間' ,
[wait_resource] AS '等待的資源' ,
[dows].[waiting_tasks_count] AS '當前正在進行等待的任務數' ,
[reads] AS '物理讀次數' ,
[writes] AS '寫次數' ,
[logical_reads] AS '邏輯讀次數' ,
[row_count] AS '返回結果行數'
FROM sys.[dm_exec_requests] AS der
INNER JOIN [sys].[dm_os_wait_stats] AS dows ON der.[wait_type] = [dows].[wait_type]
CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id] > 50
ORDER BY [cpu_time] DESC

--五、查詢CPU佔用高的語句
SELECT TOP 10
total_worker_time / execution_count AS avg_cpu_cost ,
plan_handle ,
execution_count ,
( SELECT SUBSTRING(text, statement_start_offset / 2 + 1,
( CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), text))
* 2
ELSE statement_end_offset
END - statement_start_offset ) / 2)
FROM sys.dm_exec_sql_text(sql_handle)
) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC

⑦ 如何找CPU佔用率過高的語句

可以通過topas等一些命令,找到耗CPU很高的進程pid
然後通過pid找到CPU佔用率過高的SQL語句。
這個是我常用的抓耗CPU很高的sql,10G的:
SELECT /*+ ORDERED */
sql_text
FROM v$sqltext a
WHERE a.HASH_VALUE =
(SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value)
FROM v$session b, v$process c
WHERE b.paddr = c.addr
and c.spid = '&pid');

⑧ 電腦cpu佔用過高怎麼辦

腦cpu佔用過高是因為電腦所開的進程太多,可以通過關閉一些不必要的進程來解決這個問題,具體方法如下:

1、通過shift+ctrl+esc直接進入Windows10的任務管理器,如下圖所示:

⑨ 能盡快耗盡及其內存,佔光及其cpu有哪些方法

1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。(進程池越多越佔用內存,由於訪問網站之後往往不會立即釋放內存資源。)
2、設置應用程序池的回收時間,默認為1720小時,可以根據情況修改。同時,設置同時運行的w3wp進程數目為1。再設置當內存或者cpu佔用超過多少,就自動回收內存 。
3、設置固定時間加收進程,比如在凌晨1:00至9:00之前訪問人數都比較少,影響很少小,可以設定每天在這個時間段內進行內存回收,以減少伺服器因 為內存不足帶來的影響。設定固定的時間在IIS6中沒有限制次數,可以根據實際情況來設定時間比如:晚上12:00,8:00,12:30,6:30等時 間段時間有效的進程池資源回收。
一般來說,這樣就可以解決了。但仍然會出現個別網站因為程序問題,不能正確釋放。
那麼,怎麼樣才能找到是哪一個網站的?
1、在任務管理器中增加顯示pid欄位。就可以看到佔用內存或者cpu最高的進程pid
2、在命令提示符下運行iisapp -a。注意,第一次運行,會提示沒有js支持,點擊確定。然後再次運行就可以了。這樣就可以看到pid對應的應用程序池
3、到iis中察看該應用程序池對應的網站,就ok了。

⑩ linux cpu使用率過高排查

方法一

第一步:使用

top命令,然後按shift+p按照CPU排序

找到佔用CPU過高的進程的pid

第二步:使用

top -H -p [進程id]

找到進程中消耗資源最高的線程的id

第三步:使用

echo 'obase=16;[線程id]' | bc或者printf "%x " [線程id]

將線程id轉換為16進制(字母要小寫)

bc是linux的計算器命令

第四步:執行

jstack [進程id] |grep -A 10 [線程id的16進制]」

查看線程狀態信息

方法二

第一步:使用

top命令,然後按shift+p按照CPU排序

找到佔用CPU過高的進程

第二步:使用

ps -mp pid -o THREAD,tid,time | sort -rn

獲取線程信息,並找到佔用CPU高的線程

第三步:使用

echo 'obase=16;[線程id]' | bc或者printf "%x " [線程id]

將需要的線程ID轉換為16進制格式

第四步:使用

jstack pid |grep tid -A 30 [線程id的16進制]

列印線程的堆棧信息

案例分析

場景描述

生產環境下JAVA進程高CPU佔用故障排查

解決過程

1、根據top命令,發現PID為2633的Java進程佔用CPU高達300%,出現故障。

2、找到該進程後,如何定位具體線程或代碼呢,首先顯示線程列表,並按照CPU佔用高的線程排序:

1

[root@localhost ~]# ps -mp 2633 -o THREAD,tid,time | sort -rn

顯示結果如下:

化主動為被動的方式,一方面減輕了運維工程師的工作,另一方面也減小了運維漏看或者忽略告警的情況發生。

閱讀全文

與如何找到耗cpu大的方法相關的資料

熱點內容
有沒有好方法或者建議來解決濕疹 瀏覽:258
科技統計方法有哪些 瀏覽:623
中考最好教學方法 瀏覽:431
奧美拉唑的使用方法 瀏覽:727
儀器分析方法在農葯殘留中的應用 瀏覽:636
錯題本的製作方法和步驟 瀏覽:695
越南瘦身減肥方法圖片 瀏覽:242
qq瀏覽器桌面小窗口怎麼設置在哪裡設置方法 瀏覽:793
花盆收拾方法視頻 瀏覽:515
如何克服陳列困難的方法 瀏覽:295
天然氣著火後用什麼方法滅火 瀏覽:387
贊唄簡單製作方法 瀏覽:194
吉利汽車近光燈安裝方法 瀏覽:369
湖南建築工程鋼筋除銹方法有哪些 瀏覽:762
選文描寫方法有哪些 瀏覽:654
天麻的食用方法視頻 瀏覽:923
fs308剃須刀電池連接方法 瀏覽:741
青少年如何補腎最有效的方法 瀏覽:678
如何掌握正確解讀觀察數據的方法 瀏覽:579
家庭找對象最佳方法 瀏覽:616