當前位置:首頁 » 編程語言 » linuxjavacpu

linuxjavacpu

發布時間: 2024-02-07 06:03:54

❶ 在linux 下怎麼查看伺服器的cpu和內存的硬體信息

以Linux centos 7伺服器為例,查看伺服器的cpu和內存的硬體信息方法如下:

1、滑鼠右鍵點擊桌面,選擇「打開終端」,如下圖所示。


❷ CPU佔用過高問題的排查及解決

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器

第一行,任務隊列信息,同uptime 命令的執行結果

第二行,Tasks — 任務(進程)

總進程:150 total, 運行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵屍進程: 0 zombie

第三行,cpu狀態信息

第四行,內存狀態

1003020k total, 234464k used, 777824k free, 24084k buffers【緩存的內存量】

第五行,swap交換分區信息

2031612k total, 536k used, 2031076k free, 505864k cached【緩沖的交換區總量】

更多Linux內核視頻資料免費·領取後台私信【 內核 】自行獲取。

第六行,空行

第七行以下:各進程(任務)的狀態監控

詳解

top使用方法:

此時發現如果是java的進程佔用過高,並且一直下不來,則排查是什麼線程導致佔比過高。以圖中進程舉例,假如發現PID為31357的Java進程佔CPU比一直很高,則記錄下它的PID

2.查看Java進程裡面的線程的佔用情況

top -H -p 31357 然後按shift+p按照CPU排序

說明:-H 指顯示線程,-p 是指定進程

可以看到CPU佔用較高的線程,記下他們的PID,假設這里31357的CPU佔比一直是50%

將查找到的 線程佔用最高的 tid 上圖中 29108 轉成16進制 --- 71b4

jstack 31357 > jstack.31357.log

以上能看到指定線程的堆棧信息。如果想看到關於線程中的 鎖的附加信息 ,可以加一個-l參數

4.上面方法用於進程正常情況下的堆棧列印

用jstack -l命令沒有響應,估計是CPU一直站著不能執行正常的命令,根據提示[The -F option can be used when the target process is not responding]只能放大招了。

jstack -F 「PID」 > jstack.「PID」.txt

吐出的實際日誌結果如下:

發現一大坨線程阻塞了,有用的結果在這里:

顯然一直在跑的是19576這個線程,一直在執行EXCEL導出的相關方法,問題就出在這里,下面的任務就是排查這個地方的代碼邏輯了。

jstack命令格式:

jstack [ option ] pid

參數說明:

命令格式

jps [ options ] [ hostid ]


參數說明:

三個參數加在一起顯示更詳細的信息:

發現這些Java進程的啟動參數中開放了JMX的遠程埠,正常情況下可以通過jconsole遠程連接過去看到JVM的日常參數。比如本地訪問上圖中的pay.war進程:

❸ 如何查看linux上java實例消耗內存

mpstat -P ALL 和 sar -P ALL

說明:sar -P ALL > aaa.txt 重定向輸出內容到文件 aaa.txt

top命令經常用來監控linux的系統狀況,比如cpu、內存的使用,程序員基本都知道這個命令,但比較奇怪的是能用好它的人卻很少,例如top監控視圖中內存數值的含義就有不少的曲解.下面幾種方法都可以插件Java實例消耗的內存.

  1. top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器

內容解釋:

PID:進程的ID
USER:進程所有者
PR:進程的優先順序別,越小越優先被執行
NInice:值
VIRT:進程佔用的虛擬內存
RES:進程佔用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
%CPU:進程佔用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:進程啟動命令名稱

常用的命令:

P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行

2、便捷的進程內存查看:/proc/pid ,不過比較難理解

測量一個進程佔用了多少內存,linux為我們提供了一個很方便的方法,/proc目錄為我們提供了所有的信息

說明:

/proc/N pid為N的進程信息
/proc/N/cmdline 進程啟動命令
/proc/N/cwd 鏈接到進程當前工作目錄
/proc/N/environ 進程環境變數列表
/proc/N/exe 鏈接到進程的執行命令文件
/proc/N/fd 包含進程相關的所有的文件描述符
/proc/N/maps 與進程相關的內存映射信息
/proc/N/mem 指代進程持有的內存,不可讀
/proc/N/root 鏈接到進程的根目錄
/proc/N/stat 進程的狀態
/proc/N/statm 進程使用的內存的狀態
/proc/N/status 進程狀態信息,比stat/statm更具可讀性
/proc/self 鏈接到當前正在運行的進程

3、可以看到進程中每個資源都佔用了多少內存:pmap

pmap命令可以顯示一個或多個進程所使用的內存數量。你可以使用這個工具來了解伺服器上的某個進程分配了多少內存,並以此來判斷這是否是導致內存瓶頸的原因。要得到更加詳細的信息,使用pmap -d選項。

4、free

free: invalid option -- h

usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]

-b,-k,-m,-g show output in bytes, KB, MB, or GB

-l show detailed low and high memory statistics

-o use old format (no -/+buffers/cache line)

-t display total for RAM + swap

-s update every [delay] seconds

-c update [count] times

-V display version information and exit

熱點內容
國圖資料庫 發布:2024-11-29 10:34:15 瀏覽:540
vpn免流伺服器搭建 發布:2024-11-29 10:26:12 瀏覽:244
c源文件編譯後的擴展名為 發布:2024-11-29 10:08:40 瀏覽:923
腳本自動登錄 發布:2024-11-29 09:55:27 瀏覽:62
安卓的無線網路在哪裡 發布:2024-11-29 09:54:13 瀏覽:652
谷歌瀏覽器打開ftp 發布:2024-11-29 09:46:30 瀏覽:668
熱線女孩ftp 發布:2024-11-29 09:46:29 瀏覽:71
安卓作曲哪個軟體好用 發布:2024-11-29 09:29:30 瀏覽:903
怎麼看撥號伺服器ip 發布:2024-11-29 09:28:17 瀏覽:931
王者配置怎麼樣 發布:2024-11-29 09:22:58 瀏覽:858