Linux常用系统性能监控命令

-->Linux常用系统性能监控命令

Linux常用系统性能监控命令

2016-01-19 Linux爱好者 Linux爱好者

Linux爱好者

微信号 LinuxHub

功能介绍 伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。

 

来源:工学1号馆

链接:http://wuyudong.com/archives/56

监控CPU使用率

使用下面的命令:

[[email protected] ~]# gnome-system-monitor

将会出现图形化工具GNOME System Monitor,如下图所示:

监控CPU调度程序运行队列

linux可以使用vmstat命令

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具。该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。vmstat反馈的与CPU相关的信息包括:

(1)多少任务在运行

(2)CPU使用的情况

(3)CPU收到多少中断

(4)发生多少上下文切换

下面只介绍 Vmstat与CPU相关的参数

vmstat的语法如下:

vmstat [delay [count]]

参数的含义如下:

参数 解释
delay 相邻的两次采样的间隔时间
count 采样的次数,count只能和delay一起使用

当没有参数时,vmstat则显示系统启动以后所有信息的平均值。有delay时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个delay时间段的平均信息。当系统有多个CPU时,输出为所有CPU的平均值。

参数 解释 从/proc/stat获得数据
r 在internal时间段里,运行队列里等待CPU的任务(任务)的个数,即不包含vmstat进程 procs_running-1
b 在internal时间段里,被资源阻塞的任务数(I/0,页面调度,等等.)通常情况下是接近0的 procs_blocked
us 在internal时间段里,用户态的CPU时间(%),包含 nice值为负进程 (user+nice)/total*100
sy 在internal时间段里,核心态的CPU时间(%) (system+irq+softirq)/total*100
id 在internal时间段里,cpu空闲的时间,不包括等待i/o的时间(%) idle/total*100
wa 在internal时间段里,等待i/o的时间(%) iowait/total*100
in 在internal时间段里,每秒发生中断的次数 intr/interval
cs 在internal时间段里,每秒上下文切换的次数,即每秒内核任务交换的次数 ctxt/interval

total_cur = user + system + nice + idle + iowait + irq + softirq

total_pre = pre_user + pre_system + pre_nice + pre_idle + pre_iowait + pre_irq + pre_softirq

total = total_cur - total_pre

[[email protected] ~]# vmstat

运行结果如下:

监控锁竞争

使用 sysstat包中的pidstat命令来监控

[[email protected] ~]# pidstat

运行结果如下:

Linux 2.6.32-431.el6.x86_64 (localhost.localdomain) 05/07/15 _x86_64_ (1 CPU)

09:58:18 PID %usr %system %guest %CPU CPU Command

09:58:18 1 0.00 0.00 0.00 0.00 0 init

09:58:18 4 0.00 0.00 0.00 0.00 0 ksoftirqd/0

……

09:58:18 37143 0.00 0.00 0.00 0.00 0 dbus-launch

09:58:18 37144 0.00 0.00 0.00 0.00 0 dbus-daemon

09:58:18 37268 0.00 0.00 0.00 0.00 0 fprintd

09:58:18 37272 0.00 0.00 0.00 0.00 0 pidstat

监控网络I/O使用率

nicstat原本是Solaris平台下显示网卡流量的工具,Tim Cook将它移植到linux平台

首先安装之,源码在这里下, 这里使用的版本是1.92。

安装make环境:

yum install gcc gcc-c++ make automake autoconf -y

由于nicstat依赖32 bit glibc package,所以

yum install libgcc.i686 glibc.i686 glibc-devel.i686  -y

下载文件并安装:

# wget -c http://nchc.dl.sourceforge.net/project/nicstat/nicstat-1.92.tar.gz

# tar zxvf nicstat-1.92.tar.gz

# cd nicstat-1.92

# cp Makefile.Linux Makefile

# uname -m

[[email protected] nicstat-1.92]# make

gcc -O3 -m32 nicstat.c -o nicstat

nicstat.c:99:1: warning: "DUPLEX_UNKNOWN" redefined

In file included from nicstat.c:84:

/usr/include/linux/ethtool.h:691:1: warning: this is the location of the previous definition

mv nicstat `./nicstat.sh --bin-name`

[[email protected] nicstat-1.92]# ./nicstat.sh

磁盘I/O使用率

iostat [-t] [-c] [interval [count]]

参数的含义如下:

参数 解释
T 表示输出采用的时间
C 表示只显示CPU的信息
Internal 相邻的两次采样的间隔时间
count 采样的次数,count只能和delay一起使用

当没有参数时,iostat则显示系统启动以后所有信息的平均值。与CPU有关的输出的含义

参数 解释 从/proc/stat获得
CPU 处理器ID
user 在internal时间段里,用户态的CPU时间(%) ,不包含 nice值为负进程 usr/total*100
nice 在internal时间段里,nice值为负进程的CPU时间(%) nice/total*100
sys 在internal时间段里,核心时间(%) (system+irq+softirq)/total*100
iowait 在internal时间段里,硬盘IO等待时间(%) iowait/total*100
idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 (%) idle/total*100

total_cur = user + system + nice + idle + iowait + irq + softirq

total_pre = pre_user + pre_system + pre_nice + pre_idle + pre_iowait + pre_irq + pre_softirq

total = total_cur - total_pre

有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。

使用iostat命令

[[email protected] ~]# iostat

运行结果如下:

Linux 2.6.32-431.el6.x86_64 (localhost.localdomain) 05/07/15 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

6.12 0.00 1.35 2.35 0.00 90.19

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

sda 6.03 267.11 272.53 26904430 27450404

PS:附上Brendan Gregg 个人站点上分享了很多 Linux 性能相关的资源:

Linux observability tools | Linux 性能观测工具

 

Linux benchmarking tools | Linux 性能测评工具

Linux tuning tools | Linux 性能调优工具

 

Linux observability sar

愈看更多图表和演讲,请移步:http://www.brendangregg.com/linuxperf.html

补充:去年在微博分享 Brendan Gregg 在 SCaLE 11x 大会上的演讲《Linux Performance Analysis and Tools | Linux 性能分析和工具》,这个链接(https://www.joyent.com/blog/linux-performance-analysis-and-tools-brendan-gregg-s-talk-at-scale-11x )中有演讲视频(Youtube)和幻灯片(SlideShare),所以请自带梯子访问。

参考资料

http://www.cnblogs.com/argb/p/3448661.html

http://blog.jobbole.com/76103/ 《大牛分享的 Linux 性能工具

http://blog.yufeng.info/archives/2518

阅读

精选留言

该文章作者已设置需关注才可以留言

写留言

该文章作者已设置需关注才可以留言

写留言


加载中

以上留言由公众号筛选后显示

了解留言功能详情

微信扫一扫
关注该公众号

时间: 2024-10-22 09:40:47

Linux常用系统性能监控命令的相关文章

linux常用系统监控命令

原文:http://blog.sina.com.cn/s/blog_68f1c17001016uvy.html Linux提供了很多用于监控系统的工具,使用这些工具可以找到导致系统性能降低的瓶颈.系统反应慢并不总是由于CPU慢,它也可能是因为磁盘速度太慢.系统中安装的内存较少.网络拥挤或其他反应较慢的系统部件导致. 一.top –进程活动监控 最广泛使用的系统性能监控工具是top,你启动top后,它每隔五秒显示一屏信息,动态实时地显示系统状态. top的输出显示如下: 在最顶行显示了系统名和信息

转载 linux常用的监控命令工具

工具 简单介绍top 查看进程活动状态以及一些系统状况vmstat 查看系统状态.硬件和系统信息等iostat 查看CPU 负载,硬盘状况sar 综合工具,查看系统状况mpstat 查看多处理器状况netstat 查看网络状况iptraf 实时网络状况监测tcpdump 抓取网络数据包,详细分析starce 跟踪关键进程定位程序tcptrace 数据包分析工具netperf 网络带宽工具dstat 综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息

Linux 常用 性能 检测 命令 解释

1.uptime [[email protected] ~]# uptime 15:08:15 up 98 days,  4:19,  2 users,  load average: 0.07, 0.29, 0.14 当前时间   系统运行至今的时间   多少用户登录当前系统   分别是1分钟,5分钟,15分钟前至今的负载情况 load average是队列平均长度,在队列中等待执行的进程数量 该值越低,说明进程更有可能立即被CPU处理,相反越高,说明进程更有可能阻塞 该命令可以检查服务器负载是

Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据

一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信息 使用sar命令监控系统最近的CPU/内存等活动 步骤: 步骤一:使用vmstat命令监控内存及磁盘I/O信息 1)报告内存.交换分区.CPU等活动信息,每2秒更新一次数据 [[email protected] ~]# vmstat 2    procs -----------memory----

第十三天(linux常用的基础命令 )

按照下面的要求创建一个新的逻辑卷:    *) 逻辑卷命名为database, 属于 datastore 卷组.    *) 在 datastore卷组中的逻辑卷,500M.    *)使用{ext3|ext4|xfs}文件系统对新的逻辑卷进行格式化    *)逻辑卷应该在系统启动的时候自动挂载在/mnt/database 目录下.    *)lvm扩大至1G, 并且保留其原有资料的完整性; 新增加一个 SWAP 分区    *) 大小为512MB,    *) 使该 SWAP 能够每次开机生效

Linux 常用的压缩命令有 gzip 和 zip

Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip gzip 命令: # gzip test.txt 它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样 # gunzip test.txt.gz 它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux

10个基础的linux网络和监控命令

配置zookeeper集群时,需要查看本机ip,输入命令 hostname -i   就会只显示主机ip, 下边搜了一篇常用的    命令,闲的时候多敲敲命令,以便用的时候再找! 我下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理

Linux 常用操作及命令

1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负载? 可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看.procinfo工具安装请参考Linux环境下安装软件. 3. 服务器负载高怎么办? 服务器

linux 常用查看文件命令

linux常用命令有很多,今天来给大家介绍下几个简单的查看命令: 首先是ls命令,他只是查看目录没有查看文件的能力,相反的cat命令可以完整的显示出: 如图9-1所示 当我们查看文件时,又想看文件的大小那怎么办呢?别担心linux有一个命令可以那就是查看命令选项-lh, 如图9-2所示: 想要查看文件的原状态信息用stat命令就可以实现: 如图9-3所示: 如果要查看文件的类型,我们用file命令就可以完成: 如图9-4所示: 当你在查阅文档时,要在当前路径和上一路径来回切换时,请用#cd –,