排查 Linux 系统运行速度慢教程
排查 Linux 系统运行速度慢
在 Linux 系统中,提供了 proc 文件系统显示系统的软硬件信息。那么可以执行命令 cat /proc/cpuinfo文件系统中查看 CPU 的提供商和相关详细配置信息;
cat /proc/cpuinfo
lscpu
- vendor\_id:CPU 制造商。
- model name:表示 CPU 的制造商、型号和速度。本文中是 2.20GHz 的英特(R)酷睿(TM)CPU。
- cpu MHz:用于测量通道、总线和计算机内部时钟的传输速度。本文中传输速度是 2194.919。
- cache size:CPU 二级缓存大小。
- cpuid level:执行 cpuid 指令前,eax 寄存器中的值,根据不同的值 cpuid 指令会返回不同的内容。
- bogomips:bogo 是 bogus(伪)的意思,MIPS 是指每秒百万条指令。它是显示系统性能的独立程序。
使用命令 top 来检查 CPU 负载,将实时显示 process 的动态。资源使用最高的进程排在最前面。
参数:
- -c:显示完整命令;
- -b:以批处理模式显示程序信息;
- -d NUM:设置信息更新次数;
- -n NUM:显示更新十次后退出;
- -p PID:将显示指定的进程信息;
- -S:以累积模式显示程序信息;
检查哪个进程产生了IO,数据读取速度等信息。
参数:
- -o:只显示正在产生 I/O 的进程或线程;
- -b:非交互模式,一般用来记录日志;
- -n NUM:设置监测的次数,默认无限;
- -d SEC:设置每次监测的间隔,默认 1 秒;
- -p PID:指定监测的进程/线程;
- -u USER:指定监测某个用户产生的 I/O;
- -P:仅显示进程,默认 iotop 显示所有线程;
- -a:显示累积的 I/O,而不是带宽;
- -k:使用 kb 单位进行显示;
- -t:时间戳;;
- -q:只在第一次监测时显示列名;
- -qq:将永远不显示列名;
- -qqq:将永远不显示 I/O 汇总;
service --status-all 该命令查看所有服务当前的运行状态。将按照字母的顺序运行所有的 init 脚本。
chkconfig --list 显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
chkconfig -list
free 命令:用于显示内存状态,会显示内存的使用情况,实体内存,虚拟交换内存,共享内存,以及系统核心使用的缓冲区等等;
free [-bkmotV] [-s <间隔秒数>]
参数:
- -b:以 byte 为单位显示内存使用情况;
- -k:以 KB 为单位显示内存使用情况;
- -m:以 MB 为单位显示内存使用情况;
- -o:不显示缓冲区调节列;
- -t:显示内存总和列;
- -V:显示版本信息;
- -s <间隔秒速>:将以动态的形式持续观察内存使用情况;