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
nmon是IBM公司開發的Linux性能監控工具,可以實時展示系統性能情況,也可以將監控數據寫入文件中,並使用nmon分析器做數據展示
Nmon文件需要關注的標籤頁
1、cpu_all
2、diskbusy
3、net
4、mem
需要手動安裝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加監控參數,在tomcat的bin目錄下,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)