Linux系统性能工具

linux中几款常用的系统性能分析工具:

1.vmstat命令

解释:

虚拟内存信息

用法:

vmstat [options] [delay [count]]

vmstat 2 5

//每2秒刷新一次,一共刷新5次

输出属性:

procs:

r:可运行(正运行或等待运行)进程的个数,和核心数有关

b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)

memory:

swpd: 交换内存的使用总量

free:空闲物理内存总量

buffer:用于buffer的内存总量

cache:用于cache的内存总量

swap:

si:从磁盘交换进内存的数据速率(kb/s)

//从磁盘到内存 //进内存

so:从内存交换至磁盘的数据速率(kb/s)

//内存写到磁盘 //出内存

io:

bi:从块设备读入数据到系统的速率(kb/s)

bo: 保存数据至块设备的速率

system:

in: interrupts 中断速率,包括时钟

cs: context switch 进程切换速率

cpu:

us:Time spent running non-kernel code

sy: Time spent running kernel code

id: Time spent idle. Linux 2.5.41前,包括IO-wait time.

wa: Time spent waiting for IO. 2.5.41前,包括in idle.

st: Time stolen from a virtual machine. 2.6.11前, unknown.

 

选项:

 

-s:统计内存数据

#:#秒钟显示一次

2.iostat命令

解释:

iostat是I/O statistics(输入/输出统计)的缩写,主要的功能是对系统的磁盘I/O操作进行监视。它的输出主要显示磁盘读写操作的统计信息,同时也会给出CPU使用情况。同vmstat一样,iostat也不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

用法:

示例:iostat 1 10

选项:

-x:显示详细格式的信息

#:每#秒执行一次

# *:每#秒执行一次,执行*次退出

3. dstat命令:

解释:

系统资源统计,代替vmstat,iostat

 

格式:

dstat [-afv] [options..] [delay [count]]

选项:

-c: 显示cpu相关信息

-C #,#,…,total

-d: 显示disk相关信息

-D total,sda,sdb,…

-g:显示page相关统计数据

-m: 显示memory相关统计数据

-n: 显示network相关统计数据

-p: 显示process相关统计数据

-r: 显示io请求相关的统计数据

-s: 显示swapped相关的统计数据

–tcp

–udp

–unix

–raw

–socket

–ipc

–top-cpu:显示最占用CPU的进程

–top-io: 显示最占用io的进程

–top-mem: 显示最占用内存的进程

–top-latency: 显示延迟最大的进程

 

 

影响性能因素:

好–>坏–>糟糕

CPU:

user% + sys%< 70% user% + sys%= 85% user% + sys% >=90%

内存

Swap In(si)=0

Swap Out(so)=0 Per CPU with 10 page/s More Swap In & Swap Out

磁盘:

iowait % < 20% iowait % =35% iowait % >= 50%

解释:

user%:表示CPU处在用户模式下的时间百分比。

%sys:表示CPU处在系统模式下的时间百分比。

%iowait:表示CPU等待输入输出完成时间的百分比。

swap in:即si,表示虚拟内存的页导入,即从SWAP DISK交换到RAM。

swap out:即so,表示虚拟内存的页导出,即从RAM交换到SWAP DISK。

 

总结:

1、linux下性能分析工具还有很多,例如:uptime可以检查CPU的平均负载,free可以查看系统内存的使用状况,ps、top可以配合监控系统的进程运行状态,netstat可以监测网络流量状况等等。

2、系统性能优化是个涉及面广、繁琐、长久的工作,寻找出现性能问题的根源往往是最难的部分,一旦找到出现问题的原因,性能问题也就迎刃而解。因此,解决问题的思路得非常重要。例如,linux系统下的一个网站系统,用户反映,网站访问速度很慢,有时无法访问。针对这个问题,第一步要做的是检测网络,可以通过ping命令检查网站的域名解析是否正常,同时,ping服务器地址的延时是否过大等等,通过这种方式,首先排除网络可能出现的问题;如果网络没有问题,接着进入第二步,对linux系统的内存使用状况进行检查,因为网站响应速度慢,一般跟内存关联比较大,通过free、vmstat等命令判断内存资源是否紧缺,如果内存资源不存在问题,进入第三步,检查系统CPU的负载状况,可以通过sar、vmstat、top等命令的输出综合判断CPU是否存在过载问题,如果CPU没有问题,继续进入第四步,检查系统的磁盘I/O是否存在瓶颈,可以通过iostat、vmstat等命令检查磁盘的读写性能,如果磁盘读写也没有问题,linux系统自身的性能问题基本排除,最后要做的是检查程序本身是否存在问题。通过这样的思路,层层检测,步步排查,性能问题就“无处藏身”,查找出现性能问题的环节也就变得非常简单。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90357

(0)
Pkin°Pkin°
上一篇 2017-12-18
下一篇 2017-12-19

相关推荐

  • Centos6.9 配置静态IP

    Centos6.9 配置静态IP修改步骤

    2018-03-26
  • Linux基础目录名称命名法则及功用规定

    FHS:文件系统层级结构标准 – Filesystem Hieracry Standard 参考这篇文档: http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html  /bin:供所有用户使用的基本命令文件 /sbin:系统管理使用的工具程序 /boot:引导加载器必须用的静态文件…

    Linux干货 2016-08-15
  • N26-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]#cp -r /etc/skel /home/tuser1     ~]#chmod -R go=-rwx /home/tuser1…

    Linux干货 2017-01-05
  • linux发展史-

    前言: 人类文明的进步伴随着战争,战争留下的产物也是非常伟大的。 最初用于战争的通电钢铁,如今以进入人们生活。 而它的附带产物如今也是变得妙不可言。 本文简要说明操作系统的发展过程,以及该大树下一些分支。         简 述   Linux是诞生与UNIX下的一款操系统,有着安全稳定的文件系统,…

    Linux干货 2016-10-19
  • LVS集群类型

     lvs:Linux Virtual Server         l4:四层路由、四层交换          根据请求报文的目标IP和目标PORT将其调度转发至后端的某主机;      IPTABLES:  …

    Linux干货 2017-01-10
  • N26 第六周作业

    总结vim编辑器的使用 Vim 模式    Vim 有六种基本模式    Normal mode                 Visual mode&nbs…

    Linux干货 2017-02-01