一、vmstat命令

1、简介

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结果。

2、命令格式

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

3、常用选项

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

-d:显示磁盘数据。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。

-D  显示磁盘统计表

4、应用举例

4.1、以M为单位每两秒输出一次结果并执行三次输出:

[root@hpf-linux ~]# vmstat -S M 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st0  0      0    689     38    195    0    0     8     1   12   16  0  0 100  0  00  0      0    689     38    195    0    0     0     0   13   16  0  0 100  0  00  0      0    689     38    195    0    0     0     0   13   14  0  0 100  0  0

说明:

Procs(进程):

r: 运行队列中进程数量

b: 等待IO的进程数量

Memory(内存):

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

Swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

bi: 每秒读取的块数

bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。

cs: 每秒上下文切换数。

CPU(以百分比表示):

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间)

wa: 等待IO时间

应用举例: 如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果si,so 长期不等于0,表示内存不足。如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。

4.2、以M为单位显示活跃和非活跃内存:

[root@hpf-linux ~]# vmstat -a -S M 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st0  0      0    689    114    169    0    0     8     1   12   16  0  0 100  0  00  0      0    689    114    169    0    0     0     0   13   15  0  0 100  0  00  0      0    689    114    169    0    0     0     0   13   15  0  0 100  0  0

使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。

说明:

Memory(内存):

inact: 非活跃内存大小(当使用-a选项时显示)

active: 活跃的内存大小(当使用-a选项时显示)

4.3、查看系统内存使用详细信息:

[root@hpf-linux ~]# vmstat -S M -s1006 M total memory316 M used memory169 M active memory114 M inactive memory689 M free memory38 M buffer memory195 M swap cache1999 M total swap0 M used swap1999 M free swap1741 non-nice user cpu ticks47 nice user cpu ticks1265 system cpu ticks2883445 idle cpu ticks2391 IO-wait cpu ticks22 IRQ cpu ticks2238 softirq cpu ticks0 stolen cpu ticks239562 pages paged in28430 pages paged out0 pages swapped in0 pages swapped out358226 interrupts472296 CPU context switches1437106177 boot time1677 forks

这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。

4.4、查看/dev/sda1磁盘的读/写:

[root@hpf-linux ~]# vmstat -S M -p /dev/sda1
sda1          reads   read sectors  writes    requested writes507       4004          7         28

说明:

reads:来自于这个分区的读的次数。

read sectors:来自于这个分区的读扇区的次数。

writes:来自于这个分区的写的次数。

requested writes:来自于这个分区的写请求次数。

4.5、查看系统中所有磁盘的读写:

[root@hpf-linux ~]# vmstat -S M -d
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors      ms  total merged sectors      ms    cur    sec
sr0       33      0     264       7      0      0       0       0      0      0
sda     7732   5829  469716   44808   3420   3731   57180   18212      0     40
sdb      552    641    3752     403      0      0       0       0      0      0
sdc      220     36    1552      34      0      0       0       0      0      0
dm-0      93      0     744      29      0      0       0       0      0      0

merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作。

二、free命令

1、简介

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

2、常用选项

-k:以KB为单位显示内存使用情况,默认不加选项就是以KB为单位;

-m:以MB为单位显示内存使用情况;

-g: 以GB为单位显示内存使用情况;

-o:不显示缓冲区调节列;

-s<间隔秒数>:持续观察内存使用状况;

-t:显示内存总和列

3、应用举例

以MB为单位显示内存和总和列:

[root@hpf-linux ~]# free -m -ttotal       used       free     shared    buffers     cached
Mem:          1006        316        689          0         38        195
-/+ buffers/cache:         82        924
Swap:         1999          0       1999
Total:        3006        316       2689

三、iostat命令

1、简介

iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

2、常用选项

-c:仅显示CPU使用情况;

-d:仅显示设备利用率;

-k:显示状态以千字节每秒为单位,而不使用块每秒;

-m:显示状态以兆字节每秒为单位;

-p:仅显示块设备和所有被使用的其他分区的状态;

-t:显示每个报告产生时的时间;

-x:显示扩展状态。

3、应用举例

iostat命令的安装包为sysstat,安装玩后同时还会生成下面几个监控的命令,里面的sar命令在后面还会介绍。

/usr/bin/cifsiostat
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar

3.1、iostat命令一个像vmstat命令一样以几秒刷新一次一共刷新n次的方法输出,为了节省不必要的篇幅就不列举了,先介绍下-t、-k选项的使用及说明:

[root@hpf-linux ~]# iostat -t -k
Linux 2.6.32-504.el6.i686 (hpf-linux) 2015年07月17日 _i686_(1 CPU)
2015年07月17日 21时43分03秒     //-t显示此时间
avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.07    0.00    0.12    0.07    0.00   99.74
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn //-k以KB为单位显示
scd0              0.00         0.00         0.00        132          0
sda               0.36         6.88         1.17     236234      40354
sdb               0.02         0.05         0.00       1876          0
sdc               0.01         0.02         0.00        776          0
dm-0              0.00         0.01         0.00        372          0

说明:

cpu属性值说明:

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

%nice:CPU处在带NICE值的用户模式下的时间百分比。

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

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

%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

%idle:CPU空闲时间百分比。

备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源CPU。

tps:该设备每秒的传输次数。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;

上面的例子中,我们可以看到磁盘sda以及它的各个分区的统计数据,当时统计的磁盘总TPS是0.36,下面是各个分区的TPS。(因为是瞬间值,所以总TPS并不严格等于各个分区TPS的总和)

3.2、显示磁盘的扩展状态:

[root@hpf-linux ~]# iostat -x
Linux 2.6.32-504.el6.i686 (hpf-linux) 2015年07月17日 _i686_(1 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.07    0.00    0.12    0.07    0.00   99.74
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
scd0              0.00     0.00    0.00    0.00     0.01     0.00     8.00     0.00    0.21   0.21   0.00
sda               0.17     0.16    0.23    0.13    13.84     2.36    44.69     0.00    5.74   3.48   0.13
sdb               0.02     0.00    0.02    0.00     0.11     0.00     6.80     0.00    0.73   0.68   0.00
sdc               0.00     0.00    0.01    0.00     0.05     0.00     7.05     0.00    0.15   0.15   0.00
dm-0              0.00     0.00    0.00    0.00     0.02     0.00     8.00     0.00    0.31   0.31   0.00

说明:

disk属性值说明:

rrqm/s:  每秒进行 merge 的读操作数目。即 rmerge/s

wrqm/s:  每秒进行 merge 的写操作数目。即 wmerge/s

r/s:  每秒完成的读 I/O 设备次数。即 rio/s

w/s:  每秒完成的写 I/O 设备次数。即 wio/s

rsec/s:  每秒读扇区数。即 rsect/s

wsec/s:  每秒写扇区数。即 wsect/s

rkB/s:  每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。

wkB/s:  每秒写K字节数。是 wsect/s 的一半。

avgrq-sz:  平均每次设备I/O操作的数据大小 (扇区)。

avgqu-sz:  平均I/O队列长度。

await:  平均每次设备I/O操作的等待时间 (毫秒)。

svctm: 平均每次设备I/O操作的服务时间 (毫秒)。

%util:  一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比

备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。

在上面的命令中若单独使用-d选项就不会显示CPU的信息,若使用-c选项则只会显示CPU的信息,同时也可以指定硬盘分区,这里就不多做介绍了。

转载于:https://blog.51cto.com/cuchadanfan/1675940

linux系统网络命令(六)相关推荐

  1. linux系统监控命令汇总

    零.Linux系统监控命令速查手册 命令 功能应用 用法举例     free 查看内存使用情况,包括物理内存和虚拟内存 free -h或free -m     vmstat 对系统的整体情况进行统计 ...

  2. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

    的性能有问题,总之,每到晚上挖站否的主机就出现了不稳定的情况,系统负载忽高忽低.利用服务器日志分析利器:ngxtop和GoAccess也能查出有一些IP一直在不断地扫描服务器端口还有WP后台. 但是, ...

  3. linux重置网络的命令,Linux常用网络命令和关机重启命令

    今天这篇文章有点特殊,为什么特殊呢,因为今天学到的一些网络命令在我这个Linux环境可能无法实践,有些人可能会说,环境有问题就去改啊,今天只能大概总结出来,无法像之前文章那样,给出实践的截图,而只是简 ...

  4. Linux系统常用命令及其使用详解大全

    Linux系统常用命令及其使用详解大全 整理了linux常用的命令,最长常用的也就几十个,cd,ls ,vi等等,有些容易忘记,经常拿出来看看. 其他的可以推荐一个网站,https://www.lin ...

  5. 给Linux系统/网络管理员的nmap的29个实用例子

    Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以扫描在线 ...

  6. linux 系统网络服务器组建,配置和管理实训教程 pdf,Linux网络服务器配置管理项目实训教程2...

    Linux网络服务器配置管理项目实训教程2 附录2 Linux常用命令 在文本模式和终端模式下,经常使用Linux命令来查看系统的状态和监视系统的操作,如对文件和目录进行浏览.操作等.在Linux较早 ...

  7. Linux系统检测命令有哪些

    2019独角兽企业重金招聘Python工程师标准>>> Linux系统检测命令有哪些 | 浏览:44 | 更新:2015-02-02 10:16 | 标签:linux top:一个命 ...

  8. 实验六 Linux进程编程,Linux系统编程实验六:进程间通信

    <Linux系统编程实验六:进程间通信>由会员分享,可在线阅读,更多相关<Linux系统编程实验六:进程间通信(10页珍藏版)>请在人人文库网上搜索. 1.实验六:进程间通信l ...

  9. 【收藏】Linux系统常用命令速查手册(附赠PDF档)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,获取<Linux系统常用命令速查手册>.PDF版. 联系小姐姐,备注"liunx命令 ...

  10. 【收藏】Linux系统常用命令速查手册(附PDF下载链接)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,可以在+qq. 2 3 5 53 3 1 0 4 6 备注"liunx命令",即可获取 ...

最新文章

  1. python股票自动交易从零开始-python程序化交易编程-python制作自动交易程序!
  2. golang已关闭channel
  3. MSN消息提示类(II)
  4. WPF 获得文件夹路径 FolderBrowserDialog
  5. Eclipse中Program arguments和VM arguments的说明
  6. Linux文本记录中文是?,linux操作手冊(中文).doc
  7. java日志与业务分离_java日志分开打印
  8. 阶乘末尾连续零的个数
  9. 代理ip网站的ip怎么来的_妙用代理IP,防止IP被封
  10. 亲测Tableau 2018.2 安装与破解
  11. 手机号码归属地查询,查询手机号码归属地
  12. MySQL的基础操作
  13. mysql比较两个表数据的差异_mysql实用技巧之比较两个表是否有不同数据的方法分析...
  14. 计算机网络管理工程师证书考试试题,网络工程师考试模拟试题四-试题试卷网...
  15. 【视频转码】ubuntu视频转windows视频
  16. QFile 无法重命名文件名问题
  17. matlab 死区,matlab中怎么产生死区
  18. MacOS更新BigSur后git不可用的问题
  19. 大学生学科竞赛管理网站系统、学科竞赛管理系统
  20. 【Go】Go语言中的下划线

热门文章

  1. 给.Net程序员和WEB程序员建议 (转自CSDN)
  2. RESTful-rest_framework视图层-第三篇
  3. Mysql忘记密码,支持中文,tab补全
  4. HDU 4707 Pet 邻接表实现
  5. python 库文件版本收集及安装
  6. 机器视觉开源处理库汇总-介绍n款计算机视觉库/人脸识别开源库/软件 -几种图像处理类库的比较-视觉相关网站...
  7. JavaScript中document.getElementById和document.write
  8. 后缀表达式/逆波兰表达式
  9. Lua开发学习2-数据类型
  10. jquery获取复选框checkbox的值