jmeter操作系統級別監控工具

cd /home/server/tomcat1/bin/

./startup.sh & tail -f ../logs/catalina.out

1、Top命令是Linux下一個實時的、交互式的,對操作系統整體監控的命令,可以對CPU、內存、進程監控。

Linux下最常用的監控命令--------

top - 05:10:14 up 1 day, 49 min,  2 users,  load average: 0.18, 0.12, 0.08
Tasks:  96 total,   1 running,  95 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.1 us, 14.9 sy,  0.0 ni, 84.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863220 total,   783504 free,   650448 used,   429268 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1030496 avail Mem 

Tasks:  96 total,   1 running,  95 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.1 us, 14.9 sy,  0.0 ni, 84.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863220 total,   783504 free,   650448 used,   429268 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1030496 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                     
  2023 root      20   0 1693908  99376  13704 S 22.0  5.3   1:09.61 java                                                                                                        
  2066 root      20   0  161880   2204   1576 R  0.3  0.1   0:00.19 top 

load average: 0.06, 0.60, 0.48 系統負載,即任務隊列的平均長度。
三個數值分別爲 1分鐘、5分鐘、15分鐘前到現在的平均值。(不要超過CPU核數)

Cpu(s): 0.3% us 用戶空間佔用CPU百分比
1.0% sy 內核、系統空間佔用CPU百分比
0.0% ni 用戶進程空間內改變過優先級的進程佔用CPU百分比
98.7% id 空閒CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si

最後兩行爲內存信息。內容如下:

Mem: 191272k total 物理內存總量
173656k used 使用的物理內存總量

17616k free 空閒內存總量
22052k buffers 用作內核緩存的內存量
Swap: 192772k total 交換區總量
0k used 使用的交換區總量
192772k free 空閒交換區總量
123988k cached 緩衝的交換區總量。
內存中的內容被換出到交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,
該數值即爲這些內容已存在於內存中的交換區的大小。
相應的內存再次被換出時可不必再對交換區寫入。

2.[root@snailquan bin]# free -m      ---------------
     total        used        free      shared  buff/cache   available
Mem:           1819         635         406           9         777        1000
Swap:          2047           0        2047

 

3.iostat 查看磁盤-----

iostat命令可以查看當前機器磁盤io的數據

 

命令:iostat -x -k 1

-x:展示磁盤的擴展信息

-k:以k爲單位展示磁盤數據

1:每1秒刷新一次

 

展示結果

util:磁盤IO使用率,單位%,反映磁盤的繁忙程度,上限100%

r/s:每秒讀請求數

w/s:每秒寫請求數

rkb:每秒寫磁盤字節數

wkb:每秒讀磁盤字節數

 

4、df命令可以查看當前系統磁盤空間的使用情況

命令:df -h

磁盤速度測試

命令:dd if=/dev/zero of=/export/ddtest bs=8k count=1000000 oflag=direct

5、vmstat命令綜合了CPU、進程、內存、磁盤IO等信息

命令:vmstat 1

6、

dstat是一個全能監控工具,整合了CPU、內存、磁盤、網絡等幾乎所有的監控項,支持實時刷新

dstat需要先進行安裝

yum install -y dstat

使用命令:dstat -tcdlmnsygr

7、可以計算某個時間段的平均值

支持數據存儲的監控工具-nmon

nmonIBM公司開發的Linux性能監控工具,可以實時展示系統性能情況,也可以將監控數據寫入文件中,並使用nmon分析器做數據展示

Nmon文件需要關注的標籤頁

1cpu_all

2diskbusy

3net

4mem

需要手動安裝nmon腳本,想監控哪臺機器就把腳本放哪臺機器上

/export 目錄下創建一個monitor文件夾,並上傳腳本

chmod +x nmon
./nmon 運行程序進入界面

按哪個快捷鍵就展示哪個信息

網卡的上限 ethtool eth0,局域網 一般是125M, 1000b/8

./nmon -ft -s 10 -c 10

ft存文件  s秒 c 次數 10

在當前文件夾下生成snailquan_190801_0453.nmon一個文件,運行結束後下載到桌面

使用nmon analyser v34a.xls進行分析(只能在excel中用)

cpu 就看cpu all 磁盤就看diskbusy, MEM , NET

mem中計算內存使用率公式=(B2-F2-K2-N2)/B2 內存總數-free-cache-buffer /內存總數

 

8、實時性能監控工具-spotlight

Spotlight是一個實時展示Linux資源使用的可視化工具

1、安裝spotlight(常規安裝,略)

2、在被監控的Linux內,新建一個spotlight監控用戶useradd xxx,修改密碼:passwd xxx

3、在windows下打開spotlight工具,新建監控鏈接即可開始監控

註冊碼 : 1-47853-30212-46224-95327 www.serials.ws

8、Java線程監控

線程的五種狀態

 * 新建:new

 * 運行:runnable

 * 等待:waitting(無限期等待),timed waitting(限期等待)

 * 阻塞:blocked

 * 結束:terminated

線程的兩種監控方法

一,jvisualvm,圖形界面的方式

    監控之前先對jvm加監控參數,在tomcatbin目錄下,catalina.sh文件中,第二行添加:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.0.0.9"

注:10086改成任意一個未佔用端口即可, 10.0.0.9改成本機的ip

netstat -an|grep 10086查看端口是否已被監聽

lsof -i:10086 展示當前端口號被哪個進程監聽

 

1-port

2-hostname爲本機ip

3、電腦cmd輸入jvisualvm, 若無法調用需要將jdk的bin目錄加到系統環境變量的path中

 

二,jstack pid:命令行方式

"Mytesting..." prio=10 tid=0xb7545800 nid=0x15cf waiting for monitor entry [0xb4ba8000..0xb4ba9070]

java.lang.Thread.State: BLOCKED (on object monitor)

  at ThreadStatusTest.blocked(ThreadStatusTest.java:53)

  - waiting to lock <0x8bd6a238> (a java.lang.Object)

  at BlockedStatus.run(ThreadStatusTest.java:73)

  at java.lang.Thread.run(Thread.java:619)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章