linux常用系统监控命令

原文:http://blog.sina.com.cn/s/blog_68f1c17001016uvy.html

Linux提供了很多用于监控系统的工具,使用这些工具可以找到导致系统性能降低的瓶颈。系统反应慢并不总是由于CPU慢,它也可能是因为磁盘速度太慢、系统中安装的内存较少、网络拥挤或其他反应较慢的系统部件导致。

一、top –进程活动监控

最广泛使用的系统性能监控工具是top,你启动top后,它每隔五秒显示一屏信息,动态实时地显示系统状态。

top的输出显示如下:

在最顶行显示了系统名和信息被收集和显示的时间。Top命令的输出被分为3个主要部分。这3个部分是CPU、内存和进程。

CPU部分显示如下信息:

  1. load average后后面有三个数据,分别是当前1分钟、过去5分钟和过去15分钟的平均负载。这个信息对于检查系统负载的突然改变很有用。
  2. 当前系统中活动的进程数量。
  3. 进程的每个状态,上图显示了在254个进程中,220个在睡眠状态,34个在运行状态。
  4. 在每一个CPU时间状态中使用的百分率。如果系统有多个CPU,会为每个CPU提供一行。在上图中26%的CPU时间是空闲的,其中CPU0的空闲率只有0.4%,看来比较繁忙。

内存区部分显示如下信息:

  1. 已安装的物理内存总量
  2. 活动的物理内存
  3. 虚拟内存
  4. 可用虚拟内存
  5. 可用内存总计

进程的数据构成很多列,这些列根据CPU的利用率降序排列,使用CPU最多的进程在最上面。

进程区部分显示如下信息:

  • CPU  表示被执行进程的CPU号
  • TTY  进程使用的终端
  • PID  进程ID
  • USERNAME  进程的所有者名
  • PRI  进程优先级
  • NI  nice值
  • SIZE  内存中进程的总大小
  • RES  进程的驻留大小,它是一个大概值。
  • STATE  进程的当前状态
  • TIME  进程消耗的CPU时间
  • %WCPU  进程CPU利用率权重百分比
  • %CPU  进程的原始CPU利用率百分比
  • COMMAND  启动进程的命令名

退出使用top,按q键

二、vmstat – 收集系统活动,硬件和系统信息

vmstat命令可以显示虚拟内存的统计数据,它显示有关进程、页的错误,同时这个命令也可以用来看CPU和磁盘I/O的信息

a.在procs子标题下的域:

·r  在运行的进程数量

·b  被资源阻塞的进程数,(可能在等待I/O或内存)

·w  正在等待运行的进程,它们已经从主内存中被交换出去(由于内存短缺)

需要注意的是w域,它表示进程被交换(swap out)出去的数量,如果这个列的值不为0,则表示你的内存有问题。

b.在memory子标题下的域:
·avm  活动的虚拟内存,指分配给进程的内存页
·free  表示实际的可用内存页大小

c.在page子标题下的域:

·re  回收的页,一个很大的数字表示内存不足

·at  地址转换错误

·pi  换入的页(page in)

·po  换出的页

·fr  每秒释放的页

·de  短期预计的内存不足

·sr  指page后台程序在找到可用内存空间时需要扫描检查的页数(san rate)。

在这些域中最重要的是pi、po、de和sr域,当程序开始时,可以看到在pi下有page in的活动,这种活动是正常的。但是,如果是在程序启动后,仍然发现进程有从磁盘page in的活动,这说明情况不太好。po是指系统把进程移出,以便给其它进程留出内存空间,如果有活动,也是一个不好的信号。如果你发现在de项的数值不为0,这表明有很大的问题,这个值表示预期会有内存短缺

d.在fault子标题下的域(显示了最近5秒钟每秒的陷阱和中断率):

·in  每秒的设备中断

·sy  每秒钟的系统调用

·cs CPU上下文的转换速率

e.在cpu子标题下的域

·us  正常或低优先级进程的用户时间

·sy  系统时间

·id  空闲时间

可以使用下面的vmstat命令方式,每5秒钟收集一次性能数据,共显示3次

三、 uptime –看系统已经运行了多久

最简单看系统load的命令是 uptime,它通常用来看机器已经运行了多久时间:

它给出了三个方面的信息,首先你可以了解服务器已经运行了多久,如果你发现服务器运行的时间很短,而最近并没有安排服务器重启,可能服务器有存在问题,导致系统在最近自动重启。下一个信息是用户的数量,由于应用和数据库用户并没给直接通过操作系统访问服务器,因此并不能真实的反映有多少人在使用这个服务器,但是你还是可以了解下,对特别大或特别小的数要注意。最后是系统的平均负载load average,如上图所示,系统过去1分钟的负载是0.04,过去5分钟的平均负载是0.11,过去15分钟的平均负载是0.14,

四、w – 找出哪些用户在访问系统,在干什么

W命令显示当前机器上用户的信息和他们的进程。

 

五、 ps –显示进程信息

使用ps命令列出进程,ps命令不带参数将列出调用该命令用户的所有进程。该命令的典型输出如下:

 
为了列出所有的进程,你可以使用ps命令带-ef选项。

六、iostat –统计CPU平均负载和磁盘活动

iostat 命令可以用于监控磁盘驱动器的I/O行为:

  • device  显示给出报告的实际磁盘设备
  • bps  显示每秒钟输入/输出的千字节
  • sps  列出每秒查找的数量
  • msps  平均每个查找需要的好描述数

如下命令显示3次IO的统计信息,每5秒一次。

七、sar –收集和报告系统活动

可以用sar(System Activity Report)系统行为报告来检查磁盘的I/O。

下面的sar命令,每3秒钟显示一次磁盘IO的统计信息,共收集5次。

  • bread/s  每秒钟从磁盘到缓冲存储器的读操作次数
  • lread/s  每秒钟从缓冲存储中的读操作次数
  • %rcache  对于读操作缓冲存储器的命中率
  • bwrite/s  每秒钟从缓冲存储器到磁盘写操作的次数
  • lwirt/s  每秒钟向缓冲存储器中写的操作次数
  • %wcache  对于写操作缓冲存储器的命中率
  • pread/s  每秒钟从裸设备中读操作次数
  • pwrit/s  每秒钟向裸设备写操作次数

有磁盘的%busy值经常大于50吗?对于该磁盘,是否同时存在其avwait>avserv

的现象?(因为涉及到physical IO 和logical IO 的配置平衡,以及buffer page/swap空间/异步读写等问题,磁盘瓶颈很难通过单一因素判断,50%只是一个大概的评估标准,要结合具体情况综合分析。有时候,%busy仅仅为20 就已经是磁盘瓶颈,而另外的我们认为磁盘工作正常的系统,%busy值很可能已达到80)。

还可以用sar命令监控CPU的负载,sar命令的-u选项显示CPU的统计信息,输出显示了诸如用户、系统、等待I/O和空闲状态的CPU时间分配。如下命令显示5次CPU的统计信息,每3秒一次。

报告CPU的利用率是以百分率的形式给的,看系统进程%sys、用户进程%usr和空闲进程%idel各自所占的百分率,此外还有%wio表示有多少时间在等待磁盘的I/O。如果CPU的空闲很高,那你可以不用做什么,但如果长时间内%idle值<5 ,表明CPU利用率很高,说明CPU很可能有瓶颈,,你需要进一步分析。

一般来说,我们不希望系统进程占用了很高的CPU负载,,CPU应当更多的服务用户进程,就一般而言,我希望看到系统进程占20%或30%,用户进程占70%或80%。

如果长时间内%usr>80说明CPU资源基本上被用户进程占用,CPU存在明显瓶颈。

如果%usr 值很少>80,系统可能的瓶颈存在于CPU、memory或I/O 中间。

如果%wio值>15,这是磁盘有瓶颈的信号。

八、netstat –网络状态统计

用于监控诸如接受和发出的网络流量、协议的使用、指定到接口卡适配器的IP地址等的网络行为。

netstat -i 输出网卡状态报告.

netstat -in显示Address列的是IP地址而非主机名.

时间: 2024-10-17 06:13:19

linux常用系统监控命令的相关文章

Linux常用系统性能监控命令

-->Linux常用系统性能监控命令 Linux常用系统性能监控命令 2016-01-19 Linux爱好者 Linux爱好者 Linux爱好者 微信号 LinuxHub 功能介绍 伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源.使用技巧.课程书籍等.   来源:工学1号馆 链接:http://wuyudong.com/archives/56 监控CPU使用率 使用下面的命令: [[email protected] ~]# gnome-system

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

常用系统监控命令

1.top命令 top命令是linux下最常用的性能分析工具,最简单的top命令输出如下(top): top命令的输出主要可以分为两部分:前半部分是系统统计信息,后半部分是进程信息. 在统计信息中第一行是任务队列信息,分别为:系统当前事件.系统运行时间.当前登录用户叔.1分钟5分钟15分钟内系统的平均load; 第2行是进程统计信息,分别是总的进程数.运行进程数.睡眠进程数.停止进程数.僵尸进程数: 第3行是cpu统计信息,其中us表示用户空间cpu占有率,sy表示系统内核占有率,id表示空闲c

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

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

常用的linux系统监控命令

常用的linux系统监控命令 博客分类: linux 服务器 记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了 找到最耗CPU的java线程 ps命令 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息. 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列. 比如这里找到

Day 7 Linux之系统监控、硬盘分区等

Linux之系统监控.硬盘分区等 系统监控 系统监视和进程控制工具—top和free 1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 2) 了解使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果.  1.第一行是任务队列信息 14:54:36 当前时间 up 3:42 系统运行时间(时:分) 3 users 当前登录用户数 load average:0.03 0.05 0.10

Linux查看系统状态命令

Linux查看系统状态命令     iostat iostat 命令详细地显示了存储子系统方面的情况.你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题.相信我,你应该在用户发现这些问题之前先发现这些问题! meminfo和free meminfo为你详细显示了内存方面的情况.你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息.比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个

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处理,相反越高,说明进程更有可能阻塞 该命令可以检查服务器负载是

linux常用系统指令

[linux常用系统指令] 查看内核版本:cat /proc/version 查看发行版本:cat /etc/issue 通过安装lsb的方式查看发行版本: yum provides */lsb_release lsb_release -a 查看CPU信息:cat /proc/cpuinfo 查看内存使用情况: free -h grep MemTotal /proc/meminfo grep MemFree /proc/meminfo 查看磁盘分区使用情况:df -h 查看系统运行时间.用户数.