一、vmstat[root@node2 ~]# vmstat 2 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 343228   8952  43660    0    0     5     1   11   10  0  0 100  0  0

介绍一下vmstat的常用方法,第一个参数为采样的时间间隔,第二个参数为采样的次数。[root@node2 ~]# vmstat 2

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 340616   9292  45460    0    0     5     1   11   10  0  0 100  0  0

0  0      0 340600   9292  45460    0    0     0     0   13   11  0  0 100  0  0

0  0      0 340600   9292  45460    0    0     0     0   10   11  0  0 100  0  0

0  0      0 340476   9292  45460    0    0     0     2   12   16  0  0 100  0  0

0  0      0 340476   9292  45460    0    0     0     0   11   11  0  1 100  0  0

以上为每隔2秒进行采样,没指定次数则会一直进行,ctrl+c结束采样。下面我们来说下各个参数的意义。r:表示等待CPU资源的进程数,当这个数目超过CPU个数,则系统在CPU上有性能瓶颈。

b:表示有几个进程因等待IO而阻塞了,在高并发的传统模型的web服务器上,这点可能是瓶颈。

swpd:表示使用的swpd内存量,当使用到swpd时,表示你的物理内存不足了。

free:剩余的物理内存量,我这边剩余340M。

buff:Linux系统使用一定量的内存来作为IO的缓冲,buff用于储存文件的元数据,如目录内容,文件权限。

cache:cache用于缓存打开的文件。

si:每秒从交换区写入内存的大小(单位:kb/s)

so:每秒从内存写到交换区的大小(单位:kb/s)

bi:每秒读取的块数

bo:每秒写入的块数

in:每秒CPU的中断数,包括时间中断

cs:上下文切换次数:调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目。

us:用户空间占据的CPU时间

sy:内核空间占据的CPU时间,这个时间偏长一般是消耗在IO上。

wa:等待IO的CPU时间。

st:被偷走的时间,不知道为什么被偷走了,cpu神偷。

二、top

正常情况下直接使用top命令就可以了,如果你不想要top占据前台,可以使用top -n 。top是个交互式的命令,我们可以在top窗口对top进行调整。下面先介绍一下top显示的内容

第一行为uptime:[root@node2 ~]# uptime

15:26:14 up  4:05,  3 users,  load average: 0.00, 0.00, 0.00第一列:当前时间

第二列:系统运行时间

第三列:登录的用户数

第四列:平均队列长度,即负载。时间为1分钟、5分钟、15分钟。

第二、三行为CPU信息:

注意,当CPU为多个的时候,这边可能有多行,显示为Cpu(s)时为平均值,按“1”键可以展开。82 total:进程总数

1 running:运行的进程数

81 sleeping:休眠的进程数

0 stopped:停止的进程数

0 zombie:僵死的进程数

0.3% us :用户空间占用CPU百分比        1.0% sy :内核空间占用CPU百分比        0.0% ni :用户进程空间内改变过优先级的进程占用CPU百分比        98.7% id :空闲CPU百分比        0.0% wa :等待输入输出的CPU时间百分比        0.0%hi:硬件CPU中断占用百分比        0.0%si:软中断占用百分比        0.0%st:被偷走的CPU时间

第四、五行为内存信息:

Mem:191272k total    物理内存总量

173656k used    使用的物理内存总量

17616k free    空闲内存总量

22052k buffers    用作内核缓存的内存量

Swap:192772k total    交换区总量

0k used    使用的交换区总量

192772k free    空闲交换区总量

123988k cached    缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

下面显示的内容为序号  列名    含义

a    PID     进程id

b    PPID    父进程id

c    RUSER   Real user name

d    UID     进程所有者的用户id

e    USER    进程所有者的用户名

f    GROUP   进程所有者的组名

g    TTY     启动进程的终端名。不是从终端启动的进程则显示为 ?

h    PR      优先级

i    NI      nice值。负值表示高优先级,正值表示低优先级

j    P       最后使用的CPU,仅在多CPU环境下有意义

k    %CPU    上次更新到现在的CPU时间占用百分比

l    TIME    进程使用的CPU时间总计,单位秒

m    TIME+   进程使用的CPU时间总计,单位1/100秒

n    %MEM    进程使用的物理内存百分比

o    VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

p    SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。

q    RES     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

r    CODE    可执行代码占用的物理内存大小,单位kb

s    DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

t    SHR     共享内存大小,单位kb

u    nFLT    页面错误次数

v    nDRT    最后一次写入到现在,被修改过的页面数。

w    S       进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

x    COMMAND 命令名/命令行

y    WCHAN   若该进程在睡眠,则显示睡眠中的系统函数名

z    Flags   任务标志,参考 sched.h

上面的内容可以在top交互命令下,按F进行选择需要显示的内容。按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

top可以使用的参数:d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

p:通过指定监控进程ID来仅仅监控某个进程的状态。

S: 指定累计模式

s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

i: 使top不显示任何闲置或者僵死进程。

c:显示整个命令行而不只是显示命令名

在交互环境下使用:h或者? :显示帮助画面,给出一些简短的命令总结说明。

k:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

i :忽略闲置和僵死进程。这是一个开关式命令。

q:退出程序。

r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

S:切换到累计模式(不知道干嘛的)

d: 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

f或者F:从当前显示中添加或者删除项目。

o或者O:改变显示项目的顺序。

l:切换显示平均负载和启动时间信息。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据驻留内存大小进行排序。

P:根据CPU使用百分比大小进行排序。

T:根据时间/累计时间进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

三、mpstat

其实讲完了上面2个命令,CPU啊、内存啊、IO啊查看都没什么问题了,下面在讲一下mpstat的常用方法。[root@node2 ~]# mpstat -p ALL

用法: mpstat [ 选项 ] [  [  ] ][root@node2 ~]# mpstat -P ALL 1 10

Linux 2.6.32-279.el6.x86_64 (node2.buranle.com)  2015年07月29日  _x86_64_ (1 CPU)

16时10分22秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle

16时10分23秒  all    0.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   99.00

16时10分23秒    0    0.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   99.00

字段的含义如下:%user      在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程  (usr/total)*100

%nice      在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100

%sys       在internal时间段里,内核时间(%)       (system/total)*100

%iowait    在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

%irq       在internal时间段里,硬中断时间(%)     (irq/total)*100

%soft      在internal时间段里,软中断时间(%)     (softirq/total)*100

%idle      在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100

四、iostat[root@node2 ~]# iostat --help

用法: iostat [ 选项 ] [  [  ] ]

通常使用的方法:[root@node2 ~]# iostat -d -k 2

Linux 2.6.32-279.el6.x86_64 (node2.buranle.com)  2015年07月29日  _x86_64_ (1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda               0.42         7.14         2.68     126231      47478

dm-0              0.93         6.88         2.68  a   121641      47464

dm-1              0.02         0.07         0.00       1188          0

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。

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

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

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

kB_read:读取的总数据量;

kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

iostat还有一个比较常用的选项-x,该选项将用于显示和io相关的扩展数据。[root@node2 ~]# iostat -d -k -x 2

Linux 2.6.32-279.el6.x86_64 (node2.buranle.com)  2015年07月29日  _x86_64_ (1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util

sda               0.09     0.49    0.24    0.17     7.08     2.67    47.03     0.01   14.38   4.42   0.18

dm-0              0.00     0.00    0.26    0.67     6.82     2.67    20.48     0.08   91.01   1.95   0.18

dm-1              0.00     0.00    0.02    0.00     0.07     0.00     8.00     0.00    2.60   1.13   0.00

参数的含义:rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

rsec/s:每秒读取的扇区数;wsec/:每秒写入的扇区数。

rKB/s:The number of read requests that were issued to the device per second;

wKB/s:The number of write requests that were issued to the device per second;

avgrq-sz 平均请求扇区的大小avgqu-sz 是平均请求队列的长度。毫无疑问,队列长度越短越好。   await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。

svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。

%util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

其他的如free、iotop等就不一一介绍了,参数的解释项主要来源于网络结合自己的理解进行了稍微的修改。

linux 查看tps命令,Linux系统一些系统查看指令相关推荐

  1. Linux命令查看子进程命令,Linux基础命令——查看进程命令

    linux是一个 多进程   多用户的操作系统 ps(显示当前进程的状态) ps -ef  查看当前linux 进程 ps -ef | grep 'mysqld'  过滤mysql的进程 (grep  ...

  2. linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)

    未找到linux问题setenv命令(linux issue setenv command not found) 我在Linux中开发了一个Tcl / Tk脚本工具. 为了运行该工具,每次需要在she ...

  3. linux新建自定义命令,Linux 创建自定义命令

    Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用"alias"命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. ...

  4. linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  5. linux看配置命令,Linux下命令行查看系统配置

    1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重 ...

  6. linux下查看bios命令,Linux/centos/ubuntu下查看主板BIOS信息

    第一步.要安装dmidecode这个包才能查询主板信息.Centos如下: [root@localhost ~]# yum install dmidecode Loaded plugins: fast ...

  7. linux显示分区命令,linux查看分区命令

    linux查看分区命令 9月25日任务 4.1 df命令 4.2 du命令 4.3/4.4 磁盘分区 df命令 df输出磁盘文件系统使用情况: [root@centos ~]# df 文件系统 1K- ...

  8. linux 查看带宽命令,linux查看带宽的命令

    linux系统一些命令可以显示带宽的状态信息,下面由学习啦小编为大家整理了linux查看带宽的相关知识,希望对大家有帮助! linux查看带宽命令详解 linux查看带宽命令1.nload nload ...

  9. linux 移动剪切命令,Linux切换/增加/查看/寻找/移动/拷贝/删除目录命令实例讲解...

    今天来说以下linux 的常见命令,欢迎大家交流.每个命令都会给大家截一个图,方便大家查看. 常用命令打算分好几篇来进行更新.今天是第一篇: 首先我们需要知道linux的根目录为/. 用ls可以看到根 ...

  10. linux tail日志命令,linux tail命令及其它日志查看命令的用法

    当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat L ...

最新文章

  1. opencv线性滤波(滤波与模糊的区别)
  2. pdflush内核线程池及其中隐含的竞争
  3. iOS基础 - 控制器
  4. 史上最全!用Pandas读取CSV,看这篇就够了
  5. magento图片处理 Customize Magento’s Image Resize Functionality
  6. GoF--服务定位器模式
  7. git 创建分支提交远程分支
  8. Python库:time库
  9. sql日期和时间函数
  10. 基于E4A的手机蓝牙串口助手app制作
  11. Netty:原理架构解析
  12. 透彻解读mysql的可重复读、幻读及实现原理
  13. “似乎不能再叫闵大荒了。”
  14. 【原创】PHP 邮件自动发送(QQ邮箱)
  15. 树莓派系统安装和环境配置
  16. 全连MGRE与星型拓扑MGRE
  17. Android发送接收短信的代码示例
  18. java计算机毕业设计政府人才机构在线考试系统2021源码+mysql数据库+系统+lw文档+部署
  19. ubuntu20.04 Server安装部署Janus
  20. speccpu测试工具介绍和使用说明

热门文章

  1. win10怎么查看外接显示器的型号
  2. 15岁黑客Cosmo的堕落历程
  3. 武汉最牛批的互联网基本都在这了~
  4. 美团实习经验(基础架构部)
  5. 炉石传说服务器维护公告,炉石传说3月15日更新维护公告 炉石更新日志
  6. ebyte Lora 转 4G 透传通讯测试
  7. axure中继器求和_Axure学习笔记-中继器
  8. 中继器有何作用?它的工作原理是什么?-道合顺大数据Infinigo
  9. 80多款装机必备软件,一次搞定
  10. oracle裁员原因_Oracle中国良心裁员:首批900人,赔偿N+6