Linux 系统中有许多工具可以用来分析系统性能,下面列出了一些常用的工具:
top
top 命令是 Linux 中常用的性能分析工具之一,它可以实时显示系统中运行的进程的 CPU 占用率、内存占用率等信息。
使用 top 命令时,可以在命令行中直接输入 top 命令,然后按下回车键即可进入 top 界面。在 top 界面中,可以使用键盘上的各种快捷键来控制 top 的行为。下面是一些常用的快捷键:
q:退出 top 界面
h:显示帮助信息
m:切换内存信息的显示方式
1:切换到单 CPU 模式,只显示一个 CPU 的信息
s:设置刷新频率
P:按 CPU 占用率排序
M:按内存占用率排序
k:结束进程
此外,top 界面中还有许多其他的快捷键可以使用,可以按 h 键查看帮助信息了解更多细节。
vmstat
vmstat 命令是 Linux 中用于显示系统资源使用情况的工具,包括 CPU、内存、磁盘 IO 等。使用 vmstat 命令时,可以在命令行中输入 vmstat 命令,然后按下回车键即可执行。vmstat 命令有许多参数可以使用,常用的参数如下:
-a:显示所有进程的信息
-n:只显示数字,不显示图形
-s:显示系统资源使用情况的总计信息
vmstat 命令会输出两行信息,第一行是系统当前的资源使用情况,第二行是过去 1 分钟内的平均资源使用情况。具体的输出信息如下:
r:运行队列中的进程数量
b:等待 IO 的进程数量
swpd:虚拟内存使用量
free:空闲内存量
buff:缓存的内存量
cache:高速缓存的内存量
si:从磁盘读取到内存的数据量
so:从内存写入到磁盘的数据量
bi:从块设备读取的数据量
mpstat
mpstat 命令是 Linux 中用于显示每个 CPU 核心的使用情况的工具。使用 mpstat 命令时,可以在命令行中输入 mpstat 命令,然后按下回车键即可执行。mpstat 命令有许多参数可以使用,常用的参数如下:
-P ALL:显示所有 CPU 核心的使用情况
-u:显示 CPU 利用率信息
-r:显示 IO 等待时间信息
-P cpu:显示指定 CPU 核心的使用情况,cpu 参数为 CPU 核心的编号
mpstat 命令会输出每个 CPU 核心的使用情况,具体的输出信息如下:
%usr:用户程序占用 CPU 的百分比
%nice:优先级较低的用户程序占用 CPU 的百分比
%sys:系统程序占用 CPU 的百分比
iostat
iostat 命令是 Linux 中用于显示磁盘 IO 使用情况的工具。使用 iostat 命令时,可以在命令行中输入 iostat 命令,然后按下回车键即可执行。iostat 命令有许多参数可以使用,常用的参数如下:
-d:只显示磁盘的使用情况
-x:显示扩展信息
-t:显示时间戳
-m:以 MB 为单位显示数据量
-k:以 KB 为单位显示数据量
iostat 命令会输出磁盘的使用情况,具体的输出信息如下:
rrqm/s:每秒钟读请求数量
wrqm/s:每秒钟写请求数量
r/s:每秒钟读数据量
w/s:每秒钟写数据量
rkB/s:每秒钟读数据量(KB)
wkB/s:每秒钟写数据量(KB)
avgrq-sz:平均每次访问的数据
netstat
netstat 命令是 Linux 中用于显示网络接口的使用情况的工具。使用 netstat 命令时,可以在命令行中输入 netstat 命令,然后按下回车键即可执行。netstat 命令有许多参数可以使用,常用的参数如下:
-t:只显示 TCP 的连接信息
-u:只显示 UDP 的连接信息
-l:只显示处于监听状态的连接
-a:显示所有的连接
-n:不进行域名解析,直接显示 IP 地址
netstat 命令会输出网络接口的使用情况,具体的输出信息如下:
Proto:协议类型,可能的值有 TCP、UDP、ICMP 等
Recv-Q:接收队列的大小
Send-Q:发送队列的大小
Local Address:本地地址
Foreign Address:外部地址
State:连接状态
netstat 命令还有许多其他的参数可以使用,可以查看帮助信息了解更多细节。
perf
perf 是 Linux 中一种用于性能分析的工具,它可以收集各种性能指标,并提供分析和可视化功能。使用 perf 命令时,可以在命令行中输入 perf 命令,然后按照提示输入相应的参数。perf 命令有许多子命令可以使用,常用的子命令如下:
record:收集性能指标
report:生成报告
stat:收集统计信息
top:实时显示性能信息
perf 命令的使用方法可以参考官方文档或其他资料了解更多细节。
strace
strace 命令是 Linux 中用于跟踪系统调用的工具,它可以帮助分析程序的运行情况和问题。使用 strace 命令时,可以在命令行中输入 strace 命令,然后跟上要跟踪的程序名称,按下回车键即可执行。strace 命令有许多参数可以使用,常用的参数如下:
-p:指定要跟踪的进程 ID
-f:跟踪子进程
-s:指定输出信息的最大长度
-e:指定要跟踪的系统调用
strace 命令会输出程序的系统调用信