Vmstat

Vmstat,virtual memmory statistics(虚拟内存统计),主要是对操作系统的内存信息、进程状态、cpu活动等进行监视,但是它不能对某个进程进行深入的分析。

Procs中r列表示运行和等待CPU时间片的进程数,如果r值长期大于CPU个数,说明CPU资源不够用啦,可以适当增加CPU数量。
Procs中b列表示当前等待资源的进程数,包括等待I/O,内存等。Swpd列表示切换到内存交换区的KB数,一般si,so为0的话基本不影响系统的性能。Cache是page cache的内存数量,Linux会把空闲的物理内存的一部分拿来做文件和目录的缓存,以便提高程序执行的性能。如果cache的值较大的话,说明缓存了太多的文件,如果bi值小的话,说明文件系统效率比较高。Si是每秒从磁盘读入虚拟内存的大小,如果这个值一直大于0,表示物理内存不够用或者内存泄露了,需要查找耗内存进程解决掉。Bi,bo是表示从块设备读入数据的总量以及写到块设备的数据总量。如果bi+bo值比较大,而且wa值也比较大的话,说明系统磁盘I/O可能有问题,性能不高。

In和cs是每秒钟的设备中断数以及上下文切换数。它们很大的话,表面内核消耗的CPU时间较多。

Top

Top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。它可以按照系统中当前进程的CPU利用率以及占用的内存大小进行排序,可以比较快速定位出系统响应迟钝的原因。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。

top是一个显示数据较多的工具,第一行显示的是系统的开机运行时间,机器的CPU负载信息;第二行显示当前系统任务的总数,以及各个状态的进程数;第三行显示的是CPU资源的使用情况总览;第四行显示内存的使用情况总览;第五行显示的是内存交换区的使用情况总览;后面开始是每个进程对资源使用的情况。

 Nmon

Nmon提供对CPU、内存、网络、磁盘等系统资源占用情况分析,相比其他Linux命令获取到的数据,nmon的功能更为集中、配置性更强。通过nmon采集到数据之后可以在windows系统中使用nmon_analyser做数据的展示以及分析工作,可视化效果比较好。

由于一般Linux系统都不自带nmon,使用之前需要下载安装。

Uptime

Uptime命令显示系统已经运行了多长时间,它依次显示当前时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

关于系统平均负载,它表示在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:没有在等待I/O操作的结果;没有主动进入等待状态;没有被停止。

Netstat

Netstat命令可以显示本机的网络连接情况,监听端口以及路由表等各种网络相关信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
比较常用的可以用次命令查看当前开启监听的服务器进程信息以及端口信息。

Free

Free是监控Linux使用情况最常用的命令。

“Free -m”可以查看以M为单位的使用情况,这里主要观察free和cached两列。

一般来说,如果应用程序可用内存/系统物理内存>70%时,表明目前系统内存资源比较充足,不影响系统性能;如果应用程序可用内存/系统物理内存<20%时,表明目前系统内存资源比较紧缺,需要释放其他程序内存或者增加内存;如果应用程序可用内存/系统物理内存在20%-70%之间,表明目前系统的内存资源基本满足应用需求,暂时不影响系统的性能。

 Sar

Sar也是一个强大的分析系统性能的工具,它可以比较全面的获取系统的CPU,运行队列,磁盘IO,分页,内存,CPU中断,网络等多项数据。

上图是使用sar获取系统CPU的整体负责情况,每隔1秒统计一次,统计3次,最后会给出3次的平均值。需要查看其他的数据可以查看手册使用。

Iostat

Iostat是I/O statistics的缩写,主要功能是对系统的磁盘I/O操作进行监控。它的输出主要显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况。

这里显示的是查看CPU和磁盘的信息,统计间隔2秒,共3次。

Valgrind

Valgrind是一款广泛用于监控程序运行过程进行内存调试、内存泄漏检测以及性能分析的工具。它会给出内存泄漏的统计,包括definitely lost,indirectly lost,possibly lost,still reachable ,suppressed等,我们可以使用valgrind来测试程序中内存不规范使用的部分。同时对于地址越界问题也可以通过valgrind扫出来,它会统计invalid write的情况。

Linux下的数据监控工具的更多相关文章

  1. linux下的数据备份工具rsync讲解

    linux下的数据备份工具 rsync(remote sync 远程同步)   名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...

  2. Azure上如何在Linux下挂载数据磁盘

    [原文首次发表于51cto http://cloudapps.blog.51cto.com/3136598/1653672] 在Azure上创建了虚拟机之后,我们在一些情况下会需要添加更多的数据磁盘来 ...

  3. linux下误删数据文件恢复

    linux下文件被删除能够用非常多工具进行恢复.比如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext ...

  4. linux下mysql数据的导出和导入

    导出整个数据库中的全部数据 1.在linux命令行下输入: mysqldump -u userName -p dabaseName > fileName.sql fileName.sql最好加上 ...

  5. Linux下文件完整性监控工具Tripwire详解

    Tripwire 是目前最为著名的Unix下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来.当文件现在的数字签名与保留的数字签名不一致时,那么现在 ...

  6. Linux下安装流量监控工具iftop

    在Linux系统中,top命令可以查看系统资源包括内存,CPU占用信息,查看和探测网络状态可以使用netstat,nmap等工具,实时流量监控可以使用iftop,下面是在CentOS7系列系统上安装i ...

  7. linux下用数据泵导入导出(impdp、expdp)

    expdp和impdp expdp假设a用户的默认表空间是a,导出用户a所有数据: 如果是多实例 需要在命令行或终端手工指定实例 set ORACLE_SID=实例名 否则回报ORA-12560: T ...

  8. Linux下MySql数据的导入导出

    1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: mysqldump -u用戶名 -p密 ...

  9. 在linux下进行数据备份

    一.完全备份 完全备份是指把所有需要备份的数据全部备份.当然,完全备份可以备份整块硬盘.整个分区或某个具体的目录.完全备份的好处是数据恢复方便,因为所有的数据都在同一个备份中,所以只要恢复完全备份,所 ...

随机推荐

  1. 转载Mvc的多层架构

    Mvc的多层架构 分享一个Mvc的多层架构,欢迎大家拍砖斧正   多层架构是什么? 多层架构是开发人员在开发过程当中面对复杂且易变的需求采取的一种以隔离控制为主的应对策略,关于多层架构的标准,我认为有 ...

  2. 收缩SQL Server日志不是那么简单

    收缩SQL Server日志不是那么简单的(翻译)   原文地址:http://rusanu.com/2012/07/27/how-to-shrink-the-sql-server-log/ 说明:本 ...

  3. ssh的public key的使用

    1.在客户端Xftp的工具栏tools->Key Generation Parameters 弹出会话窗口,在key type中选择RSA

  4. GDB-Darwin-Extentions

  5. Linux下搭建Nginx+MySQL+PHP

    在CentOS6.3下实践通过. 1.关闭防火墙 [root@CentOS ~]# chkconfig iptables off 2.关闭selinux vi /etc/sysconfig/selin ...

  6. springMVC3学习(十一)--文件上传CommonsMultipartFile

    使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在 ...

  7. IceMx.Mvc 我的js MVC 框架七、完善植物大战僵尸(增加阳光的消费和获得)

    话不多说,先上图 这次增加了阳光的消费和获得,增加了阳光的点击动画 重新排布了布局 有兴趣的话就研究下吧. 上一篇有朋友说让我把项目放到github上面维护,本人没用过这个,肯请朋友们帮小弟科普一下放 ...

  8. .NET Mvc Razor

    .NET Mvc Razor也可以这样玩! 忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技术是用来分享和学习的,对技术有不同的见解,大家都可以分享下,如果如下文章有问 ...

  9. WCFRESTFul服务搭建及实现增删改查

    WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格,  RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...

  10. 基于Levenberg-Marquardt训练算法的BP网络Python实现

    经过一个多月的努力,终于完成了BP网络,参考的资料为: 1.Training feed-forward networks with the Marquardt algorithm 2.The Leve ...