- 浏览: 375670 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
u014689192:
很不错
JMX学习笔记(三)-MXBean -
focus2008:
进制转换之后,根本不会执行js代码,感觉你没有测试过吧
xss漏洞之进制转换 -
focus2008:
如何使用过滤器来处理呢?
xss漏洞之进制转换 -
1169158401:
我艹,我那天这么写,包括一些方法,然后那货说这样写不容易看懂。 ...
import static简化代码 -
AquariusM:
奢华的JVM介绍!
JMX学习笔记(三)-MXBean
Linux-CPU监控
- 博客分类:
- linux
监控的目的是为了,找出系统的瓶颈,理解并分析当前系统的特点,现在多数的系统跑的是应用类型,例如:
1.数据库(Oracle, MySQL,等)
2.Cache服务(Memcached, Squid等)
2.应用服务器(Tomcat, Apache,Nginx, Jboss, sendmail等)
其实这些应用软件大致可以分为两类:
1. 数据读取范畴(I/O 请求占用多数时间)
在这个范畴的应用软件,基本是处理高负荷的内存使用以及存储的系统,大量的时间处在数据处理的过程中,多半的软件不会对CPU发起更多的处理请求,当然这些软件也使用CPU,但都是为了产生I/O请求一集进入到内核态中断所发起的请求。
2. 数据处理范畴(CPU计算占用多数时间)
处在这个范畴的应用软件,基本是高负荷的CPU占用为主,以及高密度的数学计算,通常web服务器,Tomcat,Jboss这样的应用服务器,或者一些中间件都是这个范畴的应用软件。
在这里我们先介绍一下CPU范畴居多的服务器,怎么监控CPU的性能:
1.安装监控工具
标准的Linux发行版里都带有了top命令,除此意外还有一个sysstat的linux监控工具,可以使用
http://sebastien.godard.pagesperso-orange.fr/
sysstat里包括了一系列的监控工具,比较常用的有vmstat, mpstat, iostat
首先我们使用vmstat来看一下输出:
[root@localhost ~]# vmstat procs ------memory------ ---swap-- -----io--- ----system----- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 424904 14784 45484 0 0 29 2 26 14 0 1 99 1
这里简单解释一下几个比较重要的列所代表的含义:
列名称 | 含义 |
r | Run Queue, 表示当前CPU运行队列中线程的数目,代表线程出于可运行状态,但CPU尚未执行。 |
b | Blocked, 表示当前进程阻塞并等待I/O请求完成的数目。 |
in | Interrupts, 当前终端被处理的数目。 |
cs | Context Switch, 表示当前系统内核中,发生上下文切换的数目。 |
us | Utilization, 表示CPU利用率百分比。 |
sys | System kernel and Interrupts, 表示内核中断利用率的百分比。 |
wa | All runnable threads are blocked waiting on I/O, 表示所有可运行状态的线程被阻塞在I/O的百分比。 |
id | Idle, CPU空闲时间百分比。 |
这里产生了一个系统性能的快照,监控CPU,我们最关心的莫过于CPU使用率,这系统输出中---cpu---下的id列,代表CPU空闲时间百分比,idle的缩写,这里数值是99,表示系统非常空闲,同时r,b,us数值均为0,in与cs 也出于很低的数值位,总体数值表明该系统非常空闲,几乎不做任何事情。
下边给一个系统比较繁忙的例子,并且持续监控10秒
[root@localhost ~]# vmstat 1 procs ---------memory--------- ---swap--- -----io---- -----system----- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa 3 0 207689 15094 80387 156631 0 0 0 2 726 26 82 20 0 0 2 0 207689 14768 80387 156165 0 0 0 2 738 23 96 3 0 0 1 0 207689 14723 80387 156774 0 356 0 2308 987 80 93 16 0 0 2 0 208352 13815 79183 156393 0 356 0 1038 667 62 91 13 0 0 1 0 208352 301812 77132 155414 0 0 0 2 873 24 87 6 0 0 3 0 208352 301812 77132 155547 0 0 0 2589 896 36 92 11 0 0 4 0 208352 301812 76062 155751 0 0 0 2 850 30 91 12 0 0 4 0 208352 301812 76062 155482 0 0 0 2 736 26 88 6 0 0 2 0 208352 301812 76103 155823 0 0 0 2 812 23 85 7 0 0 0 0 208352 301812 76103 155979 0 0 0 2 887 21 77 9 1 0
根据上边的数值,我们可以观察到:
1. in的数值很高,说明有大量的中断请求,而cs的数值较少,上下文切换较少,这说明可能有一个进程在产生对硬件设备的请求。
2. us平均数值在85以上,而cs的数值不高,说明上下文切换很少, 这说明这个应用程序很可能还在CPU里被处理。
3. r的数值有正常范围应该在1-3个以内,显然有2个4,这说明,超出了限制。
这里简单介绍一下r的含义:
r死Runnable Queue, 实际上每个CPU都维护这一个线程的运行队列,调度器应该不断的切换,并且执行线程, 当进程中的线程不是在阻塞队列中,或者等待I/O中,那么 就是在可运行状态中, 如果CPU出于高负荷状态下,那么内核调度将无法及时响应系统请求,这会使可运行状态进程的线程阻塞在运行队列里,随着队列越来越大,进程中的线程将话费更多的时间等待被执行。
大家可以用top命令查看系统的平均运行队列状况,在top中叫做load averages, top中列出的是指,1,5,15分钟内的运行队列状况。
下边再介绍一个工具 mpstat
这个工具主要是用在多核的处理器中, 你可以使用mpstat来监控每个核的处理情况.
[root@localhost ~]# mpstat -P ALL 1 Linux 2.6.35.14-95.fc14.i686 (localhost.localdomain) 2011年08月28日 _i686_ (1 CPU) 18时52分19秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 18时52分20秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 18时52分20秒 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 18时52分20秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
mpstat命令打印出的CPU利用率基本与vmstat一致,但是mpstat可以基于单个处理器计算统计的数值:)
评论
while :; do ps -eo pid,ni,pri,pcpu,psr,comm | grep -E "(^| )mysqld($| )"; sleep 1; done
如果想分析历史,写日志到文件里即可
哥们,想记录历史,你得留日志,分析日志方可分析历史
发表评论
-
删除/usr/share/vim目录后恢复
2012-03-11 02:34 3837蛋疼的将/usr/share/vim/ 目录删除后,vim启动 ... -
Shell 统计PV, UV ,独立IP
2011-11-06 15:07 13579每天分析日志的哥们实在伤不起,经常需要给出PV,U ... -
Linux之文件系统浅析
2011-09-05 00:26 3634我们首先看一下一个简 ... -
LVS NAT模式简介
2011-07-20 01:46 16629LVS 简称 Linux Virtual Server,在实际 ... -
tomcat关不掉的原因
2011-07-12 23:51 43418tomcat/bin 目录下的catalina.sh是比较常用 ... -
Linux下最好用的播放器
2011-04-09 22:50 2521很久以前一直流行mplayer,但是编译安装都很复杂,需要很多 ... -
SElinux 配置
2011-01-20 02:54 3059selinux 是个安全性极高的软件,在安装了发行版linux ... -
VitrualBox NAT 端口映射
2010-11-10 15:33 2077以NAT方式启动VBox中的Linux,会发现本机无法访问虚拟 ... -
Linux下配置JDK环境变量
2010-08-19 00:47 1264一般人都习惯直接修改/etc/profile文件,但是 ... -
Linux 在一块网卡上绑定多个IP
2010-04-26 00:57 4861配置虚拟主机时有一种方式是在一块网卡上绑定多个IP,操作如下: ... -
修改rhel5.4 yum 更新源
2010-04-25 16:46 2265rhel没有license是没有办法进行更新的,但是CentO ... -
Linux启动网卡
2010-02-06 00:47 3694ifconfig命令可以用于查看Linux活动网卡与IP地址、 ... -
rhel修改root密码
2010-02-05 23:00 1704在安装完Linux的时候突然忘记了root密码,可以先 ... -
VirtualBox3.1.2安装Fedora12后无法启动图形界面问题
2010-02-03 23:04 2745VirtualBox真是个好东东,无缝模式集成进win ... -
Shell if 中的参数详解
2010-01-25 23:23 1877在shell中,经常会遇到像这样的参数: JAVA={$J ... -
Linux时间系统
2009-11-30 17:38 1912这里先讲述一下时间在Linux中的概念: 1.RTC(Real ... -
linux下使用rar解压缩
2009-11-01 22:08 1314默认linux中只带了tar,zip,gzip压缩工具 ... -
firefox3.5在linux 64中无法显示flash
2009-11-01 11:12 1494可能是由于firefox版本过低,现在我已经通过更新firef ... -
Linux运行级别详解
2009-10-27 16:31 1640在设置服务的时候 ... -
设置Linux服务
2009-10-27 15:52 1248其实服务在linux下也就是一段shell,copy到相 ...
相关推荐
赋权后运行./CPU_test >>/opt/CPU.log,产生log文件分析CPU利用率
Linux运维-运维构架师-高级运维架构师-Day10-监控zabbix-05.系统监控-CPU.mp3
免费送给大家,我自己亲做了Windows和Linux的。非常好用,尤其Linux下会非常实用,集成到系统中非常容易,还有在一个Zip压缩包里面有很多小例子,实现Windows的只需把.dll放到lib下(别问我lib是什么),实现Linux的...
监控LINUX服务器内存、CPU、磁盘路径等信息钉钉、企业微信机器人发送消息提醒脚本,可使用定时任务来完成此功能
linux系统cpu、内存、IO等监控脚本 可以用作定时任务执行监控
lm_sensors可以帮助监控主板,CPU的工作电压,风扇转速、温度等数据
该脚本主要是监控cpu的使用情况,如果达到一定的值,会向用户发mail提示。
目前Linux下有一些使用Python语言编写的Linux系统监控工具比如inotify-sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的...
Linux监视CPU的命令,教你如何随时监视Linux的系统性能。
LoadRunner监控到的Linux服务器CPU的一些主要指标说明.pdf
sysCpuMemDiskMonitor.sh:系统CPU内存和硬盘使用率监控 cleanLogFile.sh:清理日志文件脚本 ProbeUrlMonitor.sh:探测URL监控脚本 sysProcessMonitor.sh:系统进程监控脚本 sysWeblogicMonitorRestart.sh:...
树莓派的核心是一颗强大的嵌入式处理器,配备内存和其他必要组件,支持多种Linux发行版,如Raspbian(现更名为Raspberry Pi OS)、Ubuntu、Arch Linux等。用户可以通过HDMI接口将其连接至显示器,通过USB接口接入...
linux性能监测工具,运维监控,网络吞吐率,服务器cpu监控,内存监控
java实现linux下的cpu资源使用率监控
在linux下自动调节cpu,实现监控,cpu资源自动调度。可用于UOS操作系统,目前在X86下已经完成测试。欢迎大家自行测试。
linux 系统资源监控nmon+生成Excle报告 备注:1.生成报告错误时解析,跟换CPU个数,一般都OK; 2.上传文件3份:监控软件一份、解析文件一份、命令说明一份; 3.多尝试几次;本人认为很好用;
Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业...
本程序能够监控LINUX服务器的内存、磁盘、CPU使用情况 1、需要配置一台FTP服务器,可以LINUX服务器中搭建一个FTP服务即可。 2、监控的服务器需要与FTP服务器网络连通。 3、需要修改...
linuxCPU、内存、I-O、磁盘等监控统一解决方案.docx
今天给大家介绍一款Linux运维监控工具 ——wgcloud,功能非常强大,完全开源! wgcloud支持显示CPU利用率、CPU温度、内存利用率、磁盘容量、磁盘IO、硬盘智能健康状态、系统负载、连接数、网卡流量、硬件系统信息等...