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  CPU指标-系统负载,活跃进程数即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。(不要超过CPU核数,超过 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 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。

%CPU 只某个进程所有CPU的占比,会超过100%

%MEM  内存

RES 真实占用的内存大小

按大写M会按照内存排序  按大写P按CPU排序

2.[root@snailquan bin]# free -m      ---------------按兆的方式显示

buff/cache内存指标,缓存;buff: 缓存写的东西  cache:存的文件

查看内存要把free+buff+cache

3.iostat 查看磁盘-----

iostat命令可以查看当前机器磁盘io的数据

命令:iostat -x -k 1

-x:展示磁盘的扩展信息

-k:以k为单位展示磁盘数据

1:每1秒刷新一次

展示结果

sda :第一块磁盘

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

5M/s 过低磁盘故障,几十M/s正常

5、vmstat命令综合了CPU、进程、内存、磁盘IO等信息

命令:vmstat 1

r队列,  b阻塞; swap: si -input  内存->swap   so- output   swap->内存;

io:磁盘IO  bi:块Input   bo-块-output

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,

 到达上限的话,带宽到达瓶颈;

ethtool eth0 能看网卡的配置,支持最大的带宽是多少

将监控数据写入到文件中  ./nmon -ft -s 10 -c 10

ft存文件  s秒 c 统计次数 10

在当前文件夹下生成snailquan_190801_0453.nmon一个文件,运行结束后下载到桌面

使用nmon analyser v34a.xls进行分析(只能在excel中用, wps用不了) 

cpu 就看cpu all 磁盘就看diskbusy(看sda), MEM , NET

nmon收集的数据都是操作系统级别的数据

所以我们要将第一行的数据计算出第二行的数据;(used-buffers-cached)/total; 或者 (total-free-buffers-cached)/total

 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

 

 被监控的linux服务器上创建个账户

 创建好之后双击就进来了

 -------------------------------------应用程序监控---------------------------------------------------------------------

8、Java线程监控

线程的五种状态

 * 新建:new

 * 运行:runnable

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

 * 阻塞:blocked

 * 结束:terminated

线程的两种监控方法

一,jvisualvm,图形界面的方式(windows下使用,监控linux服务器)

只能监控1个tomcat, 要监控多个,需要把每一个tomcat都加上下面的参数;

    监控之前先对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"

 修改完Kill -9 tomcat进程;并重启tomcat

注:10086改成任意一个未占用端口即可, 10.0.0.9改成服务器本机的ip

netstat -an|grep 10086查看端口是否已被监听

lsof -i:10086 展示当前端口号被哪个进程监听

1-port

2-hostname为本机ip

3、电脑cmd输入jvisualvm, 若无法调用需要将jdk的bin目录加到系统环境变量的path中

windows  命令行启动:

远程->右键->添加远程主机->ip地址 

 

 

可以直接抓堆dump

二,jstack pid(进程号):命令行方式

jstack 18373 > a.log    将结果重定向到a.log文件中;拷贝到windows里用notepadd++看比较方便查找;watting 大部分都是框架里的。

"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)

三、练习小例子

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值