Linux重要进程负载情况报告,查看进程负载状态的几种方法

目前找出这些命令,以后在更新

sar vmstat mpstat htop iostat netstat ss top iperf3

sar 找出系统瓶颈的利器

sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

sar -u : 默认情况下显示的cpu使用率等信息就是sar -u

sar -q: 查看平均负载

sar -r: 指定-r之后,可查看物理内存使用状况

sar -W:查看页面交换发生状况

安装:

1、有的linux系统下,默认可能没有安装这个包,使用apt-get install sysstat 来安装;

2、安装完毕,将性能收集工具的开关打开: vi /etc/default/sysstat

设置 ENABLED=”true”

3、启动这个工具来收集系统性能数据: /etc/init.d/sysstat start

sar参数说明

-A 汇总所有的报告

-a 报告文件读写使用情况

-B 报告附加的缓存的使用情况

-b 报告缓存的使用情况

-c 报告系统调用的使用情况

-d 报告磁盘的使用情况

-g 报告串口的使用情况

-h 报告关于buffer使用的统计数据

-m 报告IPC消息队列和信号量的使用情况

-n 报告命名cache的使用情况

-p 报告调页活动的使用情况

-q 报告运行队列和交换队列的平均长度

-R 报告进程的活动情况

-r 报告没有使用的内存页面和硬盘块

-u 报告CPU的利用率

-v 报告进程、i节点、文件和锁表状态

-w 报告系统交换活动状况

-y 报告TTY设备活动状况```

vmstat命令: 用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。反映了系统的负载情况。

vmstat命令是最常见的Linux/Unix监控工具,属于sysstat包。可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。```

安装:

yum install -y sysstat

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

root@local:~# 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

1 0 0 255455 315836 34856540 0 0 0 1 2 0 0 0 100 0

2 表示每个两秒采集一次服务器状态,1表示只采集一次。

mpstat简介:

mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据;而类似工具vmstat只能查看系统整体cpu情况。

如果要看每个cpu核心的详细当前运行状况信息,输出如下:

mpstat -P ALL 2

19:43:58 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle

19:43:59 all 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.96

19:43:59 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

19:43:59 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

.......

19:43:59 13 0.99 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.01

19:43:59 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

19:43:59 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.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

htop 简介

htop 类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。htop 是 Linux 系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与 Linux传统的 top 相比,htop 更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与 top 相比,htop有以下优点:

可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。

在启动上,比top 更快。杀进程时不需要输入进程号。htop 支持鼠标操作。

安装:

yum -y install htop

参数说明

htop –d 数据刷新时间

htop –u aurain 显示用户aurain的所属进程

M 按Memory 使用排序

P 按CPU 使用排序

T 按Time+ 使用排序

F3 按进程名搜索

直接输入数字 光标将定位于该PID的进程

q 退出重点内容

Linux的IO性能监控工具iostat

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

iostat一般不随系统安装,要使用iostat工具,需要在系统上安装一个sysstat的工具包。sysstat是一个开源软件,官方网址为:http://sebastien.godard.pagesperso-orange.fr/,可以选择源码包或rpm包的方式安装。安装完毕,系统会多出3个工具:iostat、sar、mpstat,然后就可以直接在系统下运行iostat命令了。

iostat命令的语法如下:

iostat [ -c | -d ] [ -k ] [ -t ] [ -x [ device ] ] [ interver [ count ] ]

各个选项及参数含义如下:

-c:显示CPU的使用情况。

-d:显示磁盘的使用情况。

-k:美妙以KB为单位显示数据。

-t:打印统计信息开始执行的时间。

-x device:指点要统计的设备名称,默认为所有的磁盘设备。

interval:指定两次统计间隔的时间。

count:按照“interval”指定的时间间隔统计的次数。

Netstat简介:

Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用 netstat 去查找网络连接信息和系统开启的端口号。

使用实例:

实例1:列出所有端口

命令:

netstat -a # 列出所有端口

netstat -at # 列出所有TCP端口

netstat -au # 列出所有UDP端口

netstat -ax # 列出所有unix端口

netstat -atnlp # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名

实例2:显示每个协议的统计信息

命令:

netstat -s # 显示所有端口的统计信息

netstat -st # 显示所有TCP的统计信息

netstat -su # 显示所有UDP的统计信息

实例3:显示核心路由信息

命令:

netstat -r # 显示所有端口的统计信息

netstat -rn # 显示所有TCP的统计信息

ss简介:

ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。

常用选项:

-h, --help 帮助

-V, --version 显示版本号

-t, --tcp 显示 TCP 协议的 sockets

-u, --udp 显示 UDP 协议的 sockets

-x, --unix 显示 unix domain sockets,与 -f 选项相同

-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"

-l, --listening 只显示处于监听状态的端口

-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)

-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接

-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称

top命令:

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

top命令的使用

top使用格式

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

top参数说明

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

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

q: 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。

S: 指定累计模式

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

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

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

交互命令

Ctrl+L: 擦除并且重写屏幕。

h或者?: 显示帮助画面,给出一些简短的命令总结说明。

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

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

q: 退出程序。

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

S: 切换到累计模式。

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

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

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

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

m: 切换显示内存信息。

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

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

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

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

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

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

网速测试利器-iperf3

简介:

iperf3是一个网络速度测试工具,支持IPv4与IPv6,支持TCP、UDP、SCTP传输协议,可在Windows、Mac OS X、Linux、FreeBSD等各种平台使用,是一个简单又实用的小工具。 本文介绍安装、使用iperf3 网速测试工具。

安装iperf3

iperf3本身是以C++所开发的小程序,在官网https://iperf.fr/iperf-download.php上有提供各种平台的预编译二进制文件,解压缩后即可使用。

在CentOS 7上使用下列命令即可安装:

yum -y install iperf3

具体使用命令自行百度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值