Linux重要进程负载情况报告,Linux进程与性能监控
系统性能监控相关命令
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进程与性能监控相关推荐
- Linux 查看端口占用情况 并 结束进程
lsof -i:端口号 kill -9 PID 原文:Linux 查看端口占用情况 并 结束进程 我的小站.Github.CSDN 有时候使用 ps 命令无法检查出特定的进程,可考虑通过观察端口占用情 ...
- Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf
Linux 内存管理 综合实验报告 计算机与通信学院 Linux 内存管理 综合实验报告 指导老师:孙建华 组员 :夏槟 20040810720 段翼真 20040810503 米晓亮 2004081 ...
- linux系统实训总结报告,linux实训心得体会范文
linux实训心得体会范文 当我们有一些感想时,就十分有必须要写一篇心得体会,这样我们可以养成良好的总结方法.相信许多人会觉得心得体会很难写吧,以下是小编精心整理的linux实训心得体会范文,供大家参 ...
- linux电子数码相册实验报告,Linux实验报告.doc
Linux实验报告Linux实验报告 实 验 报 告 课程名称 Linux操作系统安装配置和管理 年级班级 学号姓名 任课教师 康长青 目录 实验一. Linux常用命令的使用3 一.实验目的3 二. ...
- 编写一个能监控到windows进程占用内存大小的脚本_Java性能监控分析及调优工具...
>>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 Java性能监控分析及调优工具 ...
- linux进程及网络报告,linux网络和进程管理简述
OSI七层模型和TCP/IP模型简述 OSI模型 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织( ...
- 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4
实验课程名称:操作系统 实验项目名称Linux系统进程控制实验成绩 实验者专业班级组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 实验内容描述(问题域描述) 要求:掌握Linux系统中进 ...
- linux查看系统资源使用情况,查看Linux下系统资源占用常用命令
一,top命令 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定 ...
- Linux系统内存管理实验报告,linux内存管理实验报告
<linux内存管理实验报告>由会员分享,可在线阅读,更多相关<linux内存管理实验报告(13页珍藏版)>请在人人文库网上搜索. 1.操作系统实验报告院别:XXXXXX班级: ...
最新文章
- 如何在您HTML中嵌入视频和音频
- System.Web.Optimization找不到引用
- 网页中嵌套网页flush_如何修改网页中的内容?
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产 1
- Python把数据存储到CSV
- 链表之删除链表中间节点
- 《Java编程思想》第四版读书笔记 第四章
- Alibaba 应用诊断利器 Arthas 3.0.5 版本发布:提升全平台用户体验
- 解决:虚拟机能ping通主机,主机ping不通虚拟机
- (六)api网关服务 zuul-过滤器
- 奇异值分解(SVD)和最小二乘解在解齐次线性超定方程中的应用
- python字符串与列表与运算_what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法...
- 2021年遥感类SCI期刊JCR分区/中科院分区排名与影响因子汇总
- linux怎么进入dos界面,如何在Linux中运行DOS应用程序
- 5G技术是如何改变我们的生活
- 【UE5 C++进阶 01】Nanite基础
- 美日开年第二场大演习,这是要给虎年定个调吗
- 这份关于高三的秘籍,一定要知道!
- 【C语言】数组的强化训练(详细讲解+源码展示)
- 创业阶段如何找客户_创业者如何找客户群