9个必须掌握的Linux性能调优命令和工具
前言
一般来说,Linux性能调优涉及CPU、内存和 IO,包括进程、线程、程序堆栈、内存、Swap、CPU调度、内存调度、网络连接和IO读写等。
本文介绍了Linux查看资源使用情况和性能调优常用的命令,包括top
、htop
、ps
、free
、vmstat
、iostat
、netstat
、df
和du
命令。
top命令
top
命令用来监控系统的资源使用情况,包括CPU、内存、Swap、进程和线程等。
命令:
# 运行top
top
# 显示进程的完整命令
top -c
推荐使用下面的htop命令来代替top命令。
htop命令
htop
命令用来监控系统的资源使用情况,包括CPU、内存、Swap、进程和线程等。相比top
命令,htop
命令更能更强大,显示也更加直观。
命令:
# 运行htop
htop
概要信息说明:
- CPU使用率:数字1、2、…表示CPU有几个核,后面的进度条用不同颜色来表示不同维度的CPU使用率,最后是CPU使用率;
- 内存使用率:Mem后面的进度条用不同颜色来表示不同维度的内存使用率(绿色:used,蓝色:buffers,橙色:cache),最后是内存使用率(used / total);
- Swap使用率:Swap后面的进度条显示已用的Swap,最后是Swap使用率(used / total),如果系统关闭了Swap,则进度条为空,Swap使用率为0K/0K;
- 进程和线程统计:Tasks:进程数,thr:线程数,running:正在运行的进程数;
- 系统平均负载统计:Load average:前1分钟平均负载、前5分钟平均负载和前15分钟平均负载;负载越低说明CPU越空闲,负载越高说明CPU越忙:
- 负载低于0.7 * CPU核数:CPU使用率正常;(道路通畅)
- 负载高于0.7 * CPU核数:CPU使用率较高,需要关注;(道路堵车,需要交警到场疏导交通)
- 负载高于1 * CPU核数:CPU使用率过高,需要关注;(道路严重堵车,可能发生了交通事故,需要交警马上到现场处理)
- 负载高于5 * CPU核数:系统超负荷运转,无法正常响应;(交通瘫痪,可能道路已经被水淹无法通行,需要投入抢险力量恢复交通)
- 系统已连续运行时间:Uptime后面为系统从上次启动后,已连续运行时间,可以倒推系统上次启动时间;
详细信息说明:
- PID:进程ID;
- USER:进程所有者;
- PRI:进程优先级;
- NI:nice值,负值表示高优先级,正值表示低优先级;
- VIRT:进程使用的虚拟内存(virtual memory);
- RES:进程使用的物理内存(physical memory);
- SHR:进程使用的共享内存(shared memory);
- S:进程状态,R(Running)正在运行的进程、S(Sleeping)休眠的进程、T/S(Traced/Stopped) 已停止或中止的进程 或 Z(Zommbie)僵尸进程;
- CPU%:进程使用的CPU时间百分比;
- MEM%:进程使用的内存百分比;
- TIME+:进程已连续运行时间;
- Command:进程的执行命令;
常用快捷键:
- 上下箭头:上下滚动查看进程;
u
:显示指定用户的进程;P
:按照进程使用的CPU时间百分比排序;M
:按照进程使用的内存百分比排序;T
:按照进程已连续运行时间排序;
参考: