TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况;可以对CPU、内存、进程监控。是Linux下最常见的监控命令。
top命令数据分析详解:
1、running 在运行中的进程数
2、sleeping 在休眠中的进程数
3、stopped 停止状态下的进程数
4、zombie 僵尸状态下的进程数
1、us:用户空间占用CPU的百分比
2、sy:内核空间占用CPU的百分比,如果us(用户)高于sy(系统)会比较好,毕竟我们的操作系统主要还是给用户使用的。
2、ni:用户在改变过优先级的进程占用CPU的百分比
3、id:空闲的CPU百分比
4、waIO等待占用CPU的百分比IOwait,如果这个较高的话,意味这个网络IO或者磁盘IO存在一定的问题,需要排查)
5、 hi:硬中断占用CPU的百分比
6、 si:软中断占用CPU的百分比
cpu统计的是整个cup的平均数据,因为cpu有很多核,我们想要看每个核的cpu数据,可以按数字1,查看具体的cpu数据,这里也可以看到我当前的Liunx系统是1核的,所以有1条数据
free 命令用来查看当前系统内容的使用情况,包含内存总量,已使用的内存和可使用的内存
df命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
df参数详解:
1.-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
2.-k :以 KBytes 的容量显示各文件系统;
3.-m :以 MBytes 的容量显示各文件系统;
4.-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
5.-H :以 M=1000K 取代 M=1024K 的进位方式;
6.-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
7.-i :不用硬盘容量,而以 inode 的数量来显示
在输入iostat命令时,遇到个小问题,提示 下载元数据失败 于是在网上查看一下资料,出现的原因是Centos8于2021年年底停止了服务,安装时故会报这个错误
解决方案
1进入yum的repos目录
cd /etc/yum.repos.d/
2、修改所有的CentOS文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
3、更新yum源为阿里镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache
按照上述命令操作,然后输入 iostat 一路输入"y"执行就安装成功了
iostat参数选项:
vmstat 命令是最常见的 Linux/Unix 监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的 CPU 使用率,内存使用,虚拟内存 交换情况,IO 读写情况。
这个命令是我查看 Linux/Unix 最喜爱的命令,一个是 Linux/Unix 都支持,二是相比 top,我可以看到整个机器的 CPU,内存,IO 的使用情况,而不是单单看到各个进程的 CPU 使用率和内存使用率(使用场景不一样)。
上方 vmstat 1,表示采集每秒的数据。下面我们来看看每个参数的具体含义。
在性能测试工作中,主要使用vmstat 1 来查看当前系统是否有发生swap,主要关注si 和 so,如果说你当前系统swap中数据一直在发生变动,需要进行性能排查和调优
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 连接,多播成员 等等。
从整体上看,netstat 的输出结果可以分为两个部分:
参数说明:
-a或–all 显示所有连线中的Socket。
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
-c或–continuous 持续列出网络状态。
-C或–cache 显示路由器配置的快取信息。
-e或–extend 显示网络其他相关信息。
-F或–fib 显示路由缓存。
-g或–groups 显示多重广播功能群组组员名单。
-h或–help 在线帮助。
-i或–interfaces 显示网络界面信息表单。
-l或–listening 显示监控中的服务器的Socket。
-M或–masquerade 显示伪装的网络连线。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
-o或–timers 显示计时器。
-p或–programs 显示正在使用Socket的程序识别码和程序名称。
-r或–route 显示Routing Table。
-s或–statistics 显示网络工作信息统计表。
-t或–tcp 显示TCP传输协议的连线状况。
-u或–udp 显示UDP传输协议的连线状况。
-v或–verbose 显示指令执行过程。
-V或–version 显示版本信息。
-w或–raw 显示RAW传输协议的连线状况。
-x或–unix 此参数的效果和指定"-A unix"参数相同。
–ip或–inet 此参数的效果和指定"-A inet"参数相同。
实用命令实列
列出所有端口 (包括监听和未监听的)
列出所有 tcp 端口 netstat -at
列出所有 udp 端口 netstat -au
dstat是一个全能的性能监控工具,整合了CPU、内存、磁盘、网络等几乎所有的监控项,支持实时刷新。
安装dstat
1.yum install -y dstat
在日常性能测试工作中,最常用的命令是
1.dstat -tcmnd --disk-util