汽车网站建设需要多少钱,企业开发网站建设哪家好,我的世界的头怎么做视频网站,做网站常用软件从前遇到系统卡顿只会top。。top看不出来怎么搞呢#xff1f; Linux系统提供了丰富的命令行工具#xff0c;以帮助用户和系统管理员监控和分析系统性能。在这些工具中#xff0c;uptime、mpstat和pidstat是非常有用的命令#xff0c;它们可以帮助你理解系统的平均负载以及资… 从前遇到系统卡顿只会top。。top看不出来怎么搞呢 Linux系统提供了丰富的命令行工具以帮助用户和系统管理员监控和分析系统性能。在这些工具中uptime、mpstat和pidstat是非常有用的命令它们可以帮助你理解系统的平均负载以及资源使用情况。 uptime命令 uptime命令用于显示系统运行的时间、用户数量以及平均负载。平均负载是指在特定时间间隔内系统处于运行状态和不可中断状态的平均进程数。这个数字给出了系统工作负载的一个概览。
使用uptime命令
rootgl:/home/gl# uptime08:58:38 up 4:17, 4 users, load average: 0.97, 1.00, 0.86 这里的08:58:38是当前时间up 4:17 表示系统已经运行了4小时17分钟4 users表示有4个用户登录系统load average: 0.97, 1.00, 0.86分别表示过去1分钟、5分钟和15分钟的平均负载。
mpstat命令 mpstat命令用于报告CPU的统计信息。它可以显示每个可用CPU的性能统计帮助你分析CPU的使用情况。
使用mpstat命令
Linux 4.15.0-213-generic (gl) 01/16/2024 _x86_64_ (2 CPU)08:58:13 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
08:58:14 AM all 0.00 0.00 8.75 25.62 0.00 3.12 0.00 0.00 0.00 62.50
08:58:14 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
08:58:14 AM 1 0.00 0.00 23.33 68.33 0.00 8.33 0.00 0.00 0.00 0.00 可以看出系统中有两个cpu1号cpu%iowait68%说明存在大量的IO操作。 pidstat命令 pidstat用于监控各个进程的资源使用情况包括CPU、内存、磁盘I/O等。
使用pidstat命令
rootgl:/home/gl# pidstat -u 1
Linux 4.15.0-213-generic (gl) 01/16/2024 _x86_64_ (2 CPU)08:58:34 AM UID PID %usr %system %guest %wait %CPU CPU Command
08:58:35 AM 0 220 0.00 8.91 0.00 0.00 8.91 1 kworker/1:1H
08:58:35 AM 0 18799 0.00 8.91 0.00 8.91 8.91 1 stress
PID进程ID。 %usr用户态CPU时间百分比。 %system内核态CPU时间百分比。 %guest客户机操作系统占用的CPU时间百分比。 %wait进程等待I/O操作完成所占用的CPU时间百分比。 %CPU总的CPU使用率百分比。 CPU进程所在的CPU编号。 Command进程的命令名。 从pidstat的结果可以看出名为stress的这个进程是触发iowait较高的罪魁祸首。
ps命令
rootgl:/home/gl# ps aux | grep stress
root 18798 0.0 0.0 3704 1372 pts/0 S 08:57 0:00 stress -i 1 --timeout 600
root 18799 11.3 0.0 3704 108 pts/0 D 08:57 0:38 stress -i 1 --timeout 600 通过ps命令先拿到stress的pid如上有两个。
strace命令 依次用strace查看进程正在执行的系统调用发现在不停的执行sync刷新缓存到磁盘操作所以合理怀疑可能是stress进程中写完文件刷新时存在死循环。下一步就可以考虑对比log分析对应部分的代码了。
rootgl:/home/gl# strace -p 18799
strace: Process 18799 attached
sync() 0
sync() 0
sync() 0
sync() 0
sync() 0
...
分析平均负载 通过uptime命令提供的平均负载信息我们可以得到系统整体的负载情况。如果平均负载数值超过了CPU核心数这可能意味着系统过载。 使用mpstat我们可以深入了解每个CPU核心的使用情况从而判断是否有核心过载或者空闲。pidstat则提供了进程级别的资源使用情况帮助我们找出是哪些进程导致了高负载。更近一步的可以使用strace命令查看查看指定进程在进行哪些系统调用 所以结合mpstat、pidstat、ps、strace这些工具我们可以全面分析系统的性能瓶颈并采取相应的优化措施从此再也不用慌了~