系统性能监控相关命令

1.vmstat命令

Report virtual memory statistics,报告虚拟内存的统计数据。

常用选项:# #:vmstat后面直接给出数字第一个数字表示每隔#秒刷新一次,

第二个数字表示一共刷新#次后退出命令

-s:显示内存统计数据;

实例:[root@young ~]# vmstat 1 3

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

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

2  0      0 265280 365520 1900176    3    3   354    27   34   24  2  2 96  0  0

0  0      0 269016 365520 1900116    0    0     0     0  293  439  8  6 86  0  0

0  0      0 269016 365520 1900116    0    0     0     0   43   94  0  0 100  0  0

[root@young ~]# vmstat -s

3098484 K total memory

563444 K used memory

774264 K active memory

1633428 K inactive memory

269404 K free memory

365520 K buffer memory

1900116 K swap cache

2097148 K total swap

0 K used swap

说明:

procs:r:等待运行的进程的个数;CPU上等待运行的任务的队列长度;

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

memory:swpd: 交换内存使用总量;

free: 空闲的物理内存总量;

buffer:用于buffer的内存总量;

cache: 用于cache的内存总量;

swap:si: 数据进入swap中的速率(kb/s)

so: 数据离开swap中的速率(kb/s)

io:bi: 从块设备读入数据到系统的速率(block/s),默认块大小是1024byte

bo: 保存数据至块设备的速率(block/s),默认块大小是1024byte

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.

小贴士:

那buffers和cached都是缓存,两者有什么区别呢?

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。

Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。

Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。

简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

2.pmap命令

查看指定进程内存映射关系

命令格式:pmap [OPTIONS] PID

常用选项:-x:显示扩展信息

-d   device         Show the device format.   显示设备格式

-q   quiet          Do not display some header/footer lines. 不显示头尾行

实例:[root@young ~]# pmap 1 -x|head -5

1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 21

Address           Kbytes     RSS   Dirty Mode  Mapping

00007f5154000000     164      12      12 rw---   [ anon ]

00007f5154029000   65372       0       0 -----   [ anon ]

00007f515b443000       4       0       0 -----   [ anon ]

[root@young ~]# pmap -d 1 |head -5

1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 21

Address           Kbytes Mode  Offset           Device    Mapping

00007f5154000000     164 rw--- 0000000000000000 000:00000   [ anon ]

00007f5154029000   65372 ----- 0000000000000000 000:00000   [ anon ]

00007f515b443000       4 ----- 0000000000000000 000:00000   [ anon ]

说明:

扩展格式和设备格式域:Address:  start address of map  映像起始地址

Kbytes:  size of map in kilobytes  映像大小

RSS:  resident set size in kilobytes  驻留集大小

Dirty:  dirty pages (both shared and private) in kilobytes  脏页大小

Mode:  permissions on map 映像权限: r=read, w=write, x=execute, s=shared, p=private (copy on write)

Mapping:  file backing the map , or '[ anon ]' for allocated memory, or '[ stack ]' for the program stack.映像支持文件,[anon]为已分配内存[stack]为程序堆栈

Offset:  offset into the file  文件偏移

Device:  device name (major:minor)  设备名

[root@young ~]# pmap -d 1|tail -3

00007fff69d59000       8 r-x-- 0000000000000000 000:00000   [ anon ]

ffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]

mapped: 129164K    writeable/private: 23876K    shared: 0K

说明:mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz

writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小

shared 表示进程和其他进程共享的内存大小

每隔2秒显示一下最后一行信息:[root@young ~]# while true; do pmap -d  1 | tail -1; sleep 2; done

mapped: 129164K    writeable/private: 23876K    shared: 0K

mapped: 129164K    writeable/private: 23876K    shared: 0K

mapped: 129164K    writeable/private: 23876K    shared: 0K

mapped: 129164K    writeable/private: 23876K    shared: 0K

mapped: 129164K    writeable/private: 23876K    shared: 0K

3.glances命令

A cross-platform curses-based monitoringtool,跨平台的监控工具,可远程监控。

常用选项:-b: 以Byte为单位显示网卡数据速率;

-d: 关闭磁盘I/O模块

-f /path/to/somewhere: 设置输出文件的位置及其格式;

-o {HTML|CSV}

-m: 禁用mount模块

-n: 禁用网络模块

-t #: 指定刷新时间间隔

-1:每个CPU的数据单独显示

交互式命令:有许多交互式命令来定义glances的显示信息,以及排序方式等;a Sort processes automatically  l Show/hide logs

c Sort processes by CPU%        b Bytes or bits for network I/O

m Sort processes by MEM%        w Delete warning logs

p Sort processes by name        x Delete warning and critical logs

i Sort processes by I/O rate    1 Global CPU or per-CPU stats

d Show/hide disk I/O stats      h Show/hide this help screen

f Show/hide file system stats   t View network I/O as combination

n Show/hide network stats       u View cumulative network I/O

s Show/hide sensors stats       q Quit (Esc and Ctrl-C also work)

y Show/hide hddtemp stats       z  Show/hide processes list

h: 显示帮助

C/S模式下运行glances命令:

服务模式:glances -s -B IPADDR

IPADDR:自己监听的本机地址

[root@young ~]# glances -s -B 192.168.1.6

Glances server is running on 192.168.1.6:61209

客户端模式:glances -c IPADDR

IPADDR: 远程服务器监听的地址

[root@CentOS ~]# glances -c 192.168.1.6

young (CentOS Linux 7.2.1511 64bit / Linux 3.10.0-327.el7.x86_64)

CPU      10.0%   Load   1-core   Mem    26.8%  active:    769M   Swap    0.0%

user:     5.3%   1 min:   0.12   total: 2.95G  inactive: 1.55G   total: 2.00G

system:   4.7%   5 min:   0.18   used:   812M  buffers:   346M   used:      0

idle:    90.0%   15 min:  0.12   free:  2.16G  cached:   1.58G   free:  2.00G

...

4.dstat命令

versatile tool for generating systemresource statistics;生成系统资源使用统计数据命令,安装包在epel源中。

命令格式:dstat [-afv] [options..] [delay [count]]

常用选项:-c:显示cpu相关信息

-C #,#,...,total:显示第几颗CPU,total总共的

-d: 显示disk相关信息

-D total,sda,sdb,...

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

-i:显示中断状态

-l:显示cpu 1min,5min,15min的平均负载

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

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

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

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

-t, --time 显示系统运行时间

-y, --sys 显示内核空间中断与上下文切换

--aio: 显示异步io统计数据

--ipc: ipc相关的信息(进程间通信)

--raw: raw socket

--tcp: tcp socket

--udp: udp socket

--socket: raw, tcp, udp

--unix: unix sock

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

--top-bio:显示最占用block IO的进程

--top-mem: 显示最耗费内存的进程

--top-io:最占用IO的进程

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

实例:

1)cpu相关信息统计[root@CentOS ~]# dstat -c

----total-cpu-usage----

usr sys idl wai hiq siq

0   0 100   0   0   0

0   0 100   0   0   0^C

[root@CentOS ~]# dstat -C 1

-------cpu1-usage------ -dsk/total- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw

0   0  99   0   0   0|  15k 5586B|   0     0 |   0     0 | 176   120

0   0 100   0   0   0|   0     0 |  60B  870B|   0     0 |  74    53

[root@CentOS ~]# dstat -C 2

-------cpu2-usage------ -dsk/total- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw

0   0 100   0   0   0|  15k 5585B|   0     0 |   0     0 | 176   120

[root@CentOS ~]# dstat -C 1,2

-------cpu1-usage--------------cpu2-usage------ -dsk/total- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq:usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw

0   0  99   0   0   0:  0   0 100   0   0   0|  15k 5584B|   0     0 |   0     0 | 176   120

0   0 100   0   0   0:  0   0 100   0   0   0|   0     0 | 120B 1110B|   0     0 |  75    52

0   0 100   0   0   0:  0   0 100   0   0   0|   0     0 | 120B  470B|   0     0 |  56    38

2)统计磁盘相关信息[root@CentOS ~]# dstat -d

-dsk/total-

read  writ

15k 5565B

0     0

[root@CentOS ~]# dstat -D /dev/sdb

----total-cpu-usage---- --dsk/sdb-- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw

0   0 100   0   0   0|  70B    0 |   0     0 |   0     0 | 175   120

0   0 100   0   0   0|   0     0 | 180B  854B|   0     0 |  68    44

0   0 100   0   0   0|   0     0 | 180B  390B|   0     0 |  65    45

[root@CentOS ~]# dstat -D /dev/sda1

----total-cpu-usage---- --dsk/sda1- -net/total- ---paging-- ---system--

usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw

0   0 100   0   0   0| 121B    1B|   0     0 |   0     0 | 175   120

0   0 100   0   0   0|   0     0 |  60B  870B|   0     0 |  72    47

3)统计中断信息[root@CentOS ~]# dstat -i

----interrupts---

17    18    19

1     0   108

4)统计cpu负载信息[root@CentOS ~]# dstat -l

---load-avg---

1m   5m  15m

0 0.01 0.05

5)统计内存page信息[root@CentOS ~]# dstat -g

---paging--

in   out

0     0

6)统计io相关信息[root@CentOS etc]# dstat -r

--io/total-

read  writ

0.81  0.40

7)统计进程相关[root@young ~]# dstat -p

---procs---

run blk new

0.0   0 8.7

0   0 2.0

Linux重要进程负载情况报告,Linux进程与性能监控相关推荐

  1. Linux 查看端口占用情况 并 结束进程

    lsof -i:端口号 kill -9 PID 原文:Linux 查看端口占用情况 并 结束进程 我的小站.Github.CSDN 有时候使用 ps 命令无法检查出特定的进程,可考虑通过观察端口占用情 ...

  2. Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf

    Linux 内存管理 综合实验报告 计算机与通信学院 Linux 内存管理 综合实验报告 指导老师:孙建华 组员 :夏槟 20040810720 段翼真 20040810503 米晓亮 2004081 ...

  3. linux系统实训总结报告,linux实训心得体会范文

    linux实训心得体会范文 当我们有一些感想时,就十分有必须要写一篇心得体会,这样我们可以养成良好的总结方法.相信许多人会觉得心得体会很难写吧,以下是小编精心整理的linux实训心得体会范文,供大家参 ...

  4. linux电子数码相册实验报告,Linux实验报告.doc

    Linux实验报告Linux实验报告 实 验 报 告 课程名称 Linux操作系统安装配置和管理 年级班级 学号姓名 任课教师 康长青 目录 实验一. Linux常用命令的使用3 一.实验目的3 二. ...

  5. 编写一个能监控到windows进程占用内存大小的脚本_Java性能监控分析及调优工具...

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 Java性能监控分析及调优工具 ...

  6. linux进程及网络报告,linux网络和进程管理简述

    OSI七层模型和TCP/IP模型简述 OSI模型 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织( ...

  7. 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4

    实验课程名称:操作系统 实验项目名称Linux系统进程控制实验成绩 实验者专业班级组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 实验内容描述(问题域描述) 要求:掌握Linux系统中进 ...

  8. linux查看系统资源使用情况,查看Linux下系统资源占用常用命令

    一,top命令 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定 ...

  9. Linux系统内存管理实验报告,linux内存管理实验报告

    <linux内存管理实验报告>由会员分享,可在线阅读,更多相关<linux内存管理实验报告(13页珍藏版)>请在人人文库网上搜索. 1.操作系统实验报告院别:XXXXXX班级: ...

最新文章

  1. 如何在您HTML中嵌入视频和音频
  2. System.Web.Optimization找不到引用
  3. 网页中嵌套网页flush_如何修改网页中的内容?
  4. Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产 1
  5. Python把数据存储到CSV
  6. 链表之删除链表中间节点
  7. 《Java编程思想》第四版读书笔记 第四章
  8. Alibaba 应用诊断利器 Arthas 3.0.5 版本发布:提升全平台用户体验
  9. 解决:虚拟机能ping通主机,主机ping不通虚拟机
  10. (六)api网关服务 zuul-过滤器
  11. 奇异值分解(SVD)和最小二乘解在解齐次线性超定方程中的应用
  12. python字符串与列表与运算_what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法...
  13. 2021年遥感类SCI期刊JCR分区/中科院分区排名与影响因子汇总
  14. linux怎么进入dos界面,如何在Linux中运行DOS应用程序
  15. 5G技术是如何改变我们的生活
  16. 【UE5 C++进阶 01】Nanite基础
  17. 美日开年第二场大演习,这是要给虎年定个调吗
  18. 这份关于高三的秘籍,一定要知道!
  19. 【C语言】数组的强化训练(详细讲解+源码展示)
  20. 创业阶段如何找客户_创业者如何找客户群

热门文章

  1. 背靠博世,去年亏损近亿元的车联天下拿到了1.5亿元投资
  2. mac 思科 链路聚合_cisco交换机上的链路聚合
  3. 秋冬季节来临,VR全景如何玩转室内项目?
  4. MongoDB系列之复制数据库和Collection
  5. 【黎曼积分】第一型曲面积分公式推导
  6. Elasticsearch聚合查询多字段设置权重
  7. sys.argv函数详解
  8. 芝麻信用网页api php,PHP芝麻信用接入的注意事项_php实例
  9. 知名开源公司上市造就亿万富翁,创始人不做CEO只想做码农
  10. ubunto 搭建 lamp