Linux核心组件(CPU,内存,磁盘,网络,进程)
一、CPU
不同组件,每秒的运算、读写次数
命令集:lscpu+top/htop/uptime+mpstat+sar
# 查看CPU静态信息
cat /proc/cpuinfo
# 查看CPU统计信息
lscpu
uptime
Load Average(平均负载):就是一段时间内(1分钟、5分钟、15分钟)内平均Load
翻译:一段时间内正在使用和等待使用CPU的平均进程数
看趋势的话从右往左看,从15分钟》5分钟》1分钟,看这个数字递增还是递减
总结:CPU分析是很复杂的过程,一般需要看正在使用和等待、以及平均负载;
top命令可以看正在进行的,uptime可以看平均负载,pidstat可以看等待的
平均负载超过一点没有关系,一般和核数差不多最好
#间隔5秒后输出一组数据
pidstat -u 5 1
问题:1、CPU使用率很高,但是平均负载很低
说明正在使用的很多,等待进程的很少,分析这个进程是哪一个进程,查看进程号
2、CPU使用率很低,但是平均负载很高
说明等待的进程高(CPU负载,I/O负载)
梳理:
iscpu命令:CPU的静态信息,包括核数,tx系列
top命令:动态查看CPU使用率, us:用户使用的cpu,sy:系统使用的cpu,id:空闲 ,wa:等待I/O(磁盘)
二、内存
free命令
swap in is 数据从swap(指定磁盘大小空间)读取到内存
swap in out 数据从内存写到swap里
vmstat 关注si so
三、磁盘
lostat -d 间隔时间 显示磁盘统计信息
pidstat -d 跟踪和分析特定进程的磁盘I/O行为
四、网络带宽
ping 网络是否是同的
ip addr/ifconfgi 查看服务器ip
真正的压测,理想的环境:1、公司有自己的测试环境,用公司内网压测,走局域网
2、云服务器上,测试机可以申请云服务器机器,主要用同一个账号云租云服务器,保持在同一局域网下
netstat -tpln:查看端口情况
tcping -t 10 www.baidu.com 80 查看百度80端口是否开启
五、进程
top命令查看哪个进程pid占cpu高
ps -ef|grep pid 查看是哪个应用程序
top -H -p pid 查看具体的线程数