linxu系统下的命令:
uptime查看系统运行时间、运行时间、每个终端连接数。1,5,15分钟内系统平均负载,运行队列中的平均进程数。
17:08:15 up 3 min, 2 users, load average: 0.01, 0.03, 0.00
top,同uptime ,cpu内存使用情况,每个进程占cpu的情况。
top - 17:09:21 up 4 min, 2 users, load average: 0.00, 0.02, 0.00
Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1922488k total, 179676k used, 1742812k free, 12880k buffers
Swap: 835576k total, 0k used, 835576k free, 61760k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 19360 1532 1232 S 0.0 0.1 0:00.69 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.14 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 sync_supers
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kblockd/0
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpid
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_hotplug
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ata_aux
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ata_sff/0
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksuspend_usbd
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khubd
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kseriod
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 md/0
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 md_misc/0
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 linkwatch
28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
30 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
31 root 39 19 0 0 0 S 0.0 0.0 0:00.00 khugepaged
32 root 20 0 0 0 0 S 0.0 0.0 0:00.00 aio/0
33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 crypto/0
38 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthrotld/0
40 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kpsmoused
41 root 20 0 0 0 0 S 0.0 0.0 0:00.00 usbhid_resumer
72 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kstriped
147 root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
148 root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
155 root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
240 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdmflush
242 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdmflush
259 root 20 0 0 0 0 S 0.0 0.0 0:00.00 jbd2/dm-0-8
260 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ext4-dio-unwrit
350 root 16 -4 11072 1164 320 S 0.0 0.1 0:00.27 udevd
377 root 20 0 0 0 0 S 0.0 0.0 0:00.00 flush-8:0
vmstat 1 4 可以统计系统的CPU,内存,swap,io等情况 。一秒钟采样四次。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1742852 12884 61808 0 0 198 14 92 68 1 2 95 2 0
0 0 0 1742836 12884 61808 0 0 0 0 15 9 0 0 100 0 0
0 0 0 1742836 12884 61808 0 0 0 0 16 11 0 0 100 0 0
0 0 0 1742836 12884 61808 0 0 0 0 14 9 0 0 100 0 0
pidstat 不是自带的,可以通过命令安装 sudo apt-get install systat 。细致观察进程,监控CPU监控IO监控内存。
Linux 2.6.32-431.el6.x86_64 (kafka1) 2017年04月02日 _x86_64_ (1 CPU)
17时13分20秒 PID %usr %system %guest %CPU CPU Command
17时13分20秒 1 0.01 0.12 0.00 0.13 0 init
17时13分20秒 7 0.00 0.04 0.00 0.04 0 events/0
pidstat -p 7 -u 1 1 查看线程程7一分钟采样一次,-u是监控cpu
------------------------
windows下可以运行中输入 perfmon 可以进行更详细的监控
下载 process explorer 来监控性能
下载pslist 下载路径:https://technet.microsoft.com/en-us/sysinternals/bb896682.aspx
pslist -d 是查询线程
------------------------
java自带的性能监控工具
jps 列出当前java进程,类似于ps命令
-q可以制定jps只输出进程id
-m可以用于输出传递给java进程(主函数)的参数
-l可以用于输出主函数的完整路径
-v可以下你是传给jvm的参数
jinfo可以用来查看正在运行的java应用程序的扩展参数,甚至支持在运行时,修改部分参数
-flag <name>:打印指定JVM的参数值
-flag [+|-]<name>:指定设定JVM的参数的布尔值
-flag <name>=<value>:设定指定JVM的参数值
C:\Users\kevin>jinfo -flag MaxTenuringThreshold 11792
-XX:MaxTenuringThreshold=15
下面三个命令,第一个命令先查看11792这个java进程的PringGCDetails参数是否打开,结果是没有打开。第二个是打开PringGCDetails参数,第三是查看11792这个java进程的PringGCDetails参数是否打开,结果是已经打开
C:\Users\kevin>jinfo -flag PrintGCDetails 11792
-XX:-PrintGCDetails
C:\Users\kevin>jinfo -flag +PrintGCDetails 11792
C:\Users\kevin>jinfo -flag PrintGCDetails 11792
-XX:+PrintGCDetails
jmap 生成java应用程序的堆快照和对象的统计信息
jmap -histo 11792 >d:\a.txt
num #instances #bytes class name
----------------------------------------------
1: 70399 9990136 [C
2: 18359 6712632 [B
3: 19161 3591760 [I
4: 47148 1131552 java.lang.String
5: 8167 784032 sun.util.calendar.Gregorian$Date
……
jmap -dump:format=b,file=d:\b.txt 11792
b.txt不是纯文本文件,需要用专用的工具打开。
jstack 打印线程dump 。jstack 11792
-l 打印锁信息
-m 打印java和native的帧信息
-F 强制dump,当jstack没有响应的时候使用
jConsole图形化监控工具
在运行中打jConsole可以运行。可以检测死锁,也可以执行GC
Visul VM
http://visualvm.java.net/download.html