linux性能排查命令 查看linux系统性能的常用命令

Linux 服务器性能出问题,排查下这些参数指标1.1 top
1.2 vmstat
r 表示可运行进程数目 , 数据大致相符;而b表示的是 uninterruptible 睡眠的进程数目;swpd 表示使用到的虚拟内存数量,跟 top-Swap-used 的数值是一个含义,而如手册所说,通常情况下 buffers 数目要比 cached Mem 小的多,buffers 一般20M这么个数量级;io 域的 bi、bo 表明每秒钟向磁盘接收和发送的块数目(blocks/s);system 域的 in 表明每秒钟的系统中断数(包括时钟中断) , cs表明因为进程切换导致上下文切换的数目 。
说到这里,想到以前很多人纠结编译 linux kernel 的时候 -j 参数究竟是 CPU Core 还是 CPU Core 1?通过上面修改 -j 参数值编译 boost 和 linux kernel 的同时开启 vmstat 监控,发现两种情况下 context switch 基本没有变化,且也只有显著增加 -j 值后 context switch 才会有显著的增加,看来不必过于纠结这个参数linux性能排查命令了,虽然具体编译时间长度linux性能排查命令我还没有测试 。资料说如果不是在系统启动或者 benchmark 的状态,参数 context switch100000 程序肯定有问题 。
1.3 pidstat
如果想对某个进程进行全面具体的追踪,没有什么比 pidstat 更合适的了——栈空间、缺页情况、主被动切换等信息尽收眼底 。这个命令最有用的参数是-t,可以将进程中各个线程的详细信息罗列出来 。
-rlinux性能排查命令: 显示缺页错误和内存使用状况,缺页错误是程序需要访问映射在虚拟内存空间中但是还尚未被加载到物理内存中的一个分页,缺页错误两个主要类型是
-s:栈使用状况 , 包括 StkSize 为线程保留的栈空间,以及 StkRef 实际使用的栈空间 。使用ulimit -s发现CentOS 6.x上面默认栈空间是10240K,而 CentOS 7.x、Ubuntu系列默认栈空间大小为8196K
1.4 其他
while :; do ps -eo user,pid,ni,pri,pcpu,psr,comm | grep 'ailawd'; sleep 1; done
2.1 iostat
3.1 netstat
? ~ netstat -antp #列出所有TCP的连接
? ~ netstat -nltp #列出本地所有TCP侦听套接字,不要加-a参数
3.2 sar
3.3 tcpdump
linux性能分析命令--pidstat pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等 。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息 。用户可以通过指定统计的次数和时间来获得所需的统计信息 。pidstat可以监控到进程级别的信息;这就意味着我们更容易定位问题源头 。
pidstat [ 选项 ] [ 时间间隔 ] [ 次数 ]
常用的参数:
等同于pidstat -u -p ALL,等同于pidstat -u
使用-r选项 , pidstat将显示各活动进程的内存使用统计:
使用-d选项 , 我们可以查看进程IO的统计信息:
[root@vircent7 ~]# pidstat -w
Linux 3.10.0-1160.45.1.el7.x86_64 (vircent7.kyj)2021年12月15日x86_64(4 CPU)
对监控对象进行筛选
以上所有命令结尾,加上两个数字,即可设定采样间隔和采样次数
表示每1秒采集一次数据 , 一共采集5次
Linux常用性能诊断命令详解 top命令动态地监视进程活动与系统负载等信息 。
使用示例:
效果如下图:
以上命令输出视图中分为两个区域 , 一个统计信息区,一个进程信息区 。
统计信息区:
第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低) 。
第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数 。
第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等 。
第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量 。
第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量 。
进程信息区:
按 q 键退出监控页面 。
uptime 用于查看系统的负载信息 。
使用示例:
查看系统的负载信息 。
效果如下图:
输出说明:
当前服务器时间:11:06:57
当前服务器运行时长:59 min
当前用户数:1 users
当前负载情况:load average: 0.00, 0.04, 0.08(分别取1min,5min,15min的均值)
free用于显示当前系统中内存的使用量信息 。
命令语法: free [-bkmotV][-s 间隔秒数]
参数说明:
使用示例:
显示当前系统中内存的使用量信息 。
效果如下图:
输出说明:
ifconfig命令用于获取网卡配置与网络状态等信息 。
使用示例:
获取网卡配置与网络状态等信息 。
效果如下图:
输出说明:
第一部分的第一行显示网卡状态信息 。
eth0表示第一块网卡 。
UP代表网卡开启状态 。
RUNNING代表网卡的网线被接上 。
MULTICAST表示支持组播 。
第二行显示网卡的网络信息 。
inet(IP地址):172.16.67.50 。
netmask(掩码地址):255.255.0.0 。
broadcast(广播地址):172.16.255.255 。
RX表示接收数据包的情况,TX表示发送数据包的情况 。
lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接 , 而是完全由软件实现 。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件 。任何发送到该网卡上的数据都将立刻被同一网卡接收到 。
【linux性能排查命令 查看linux系统性能的常用命令】linux性能排查命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于查看linux系统性能的常用命令、linux性能排查命令的信息别忘了在本站进行查找喔 。

    推荐阅读