Linux查看系统负载,uptime和w命令详解
时间:2026-10-9 07:39 作者:emer 分类: 无
前言
服务器卡不卡,先看负载。Linux看系统负载最常用的就是uptime和w命令,一行输出就能看到系统跑了多久、现在有多少人登录、负载高不高。本文讲怎么看这些信息。
一、uptime命令
直接敲
uptime
输出:
07:39:01 up 35 days, 2:15, 2 users, load average: 0.08, 0.03, 0.00
逐个解释
| 字段 | 含义 |
|---|---|
| 07:39:01 | 当前时间 |
| up 35 days, 2:15 | 系统运行了35天2小时15分 |
| 2 users | 当前有2个用户登录 |
| load average: 0.08, 0.03, 0.00 | 系统负载,分别是1分钟、5分钟、15分钟 |
负载怎么看
load average三个数:
- 第一个:最近1分钟的平均负载
- 第二个:最近5分钟的平均负载
- 第三个:最近15分钟的平均负载
判断标准:
| 负载值 | 状态 |
|---|---|
| 0.00-0.70 | 正常 |
| 0.70-1.00 | 注意一下 |
| 1.00-2.00 | 有点高 |
| 2.00以上 | 很高了,要排查 |
注意: 负载和CPU核数有关。比如4核CPU,负载4.00才是满。
看CPU核数
nproc
# 4
或者:
cat /proc/cpuinfo | grep processor | wc -l
# 4
判断: 负载小于CPU核数就是正常的。
二、w命令
直接敲
w
输出:
07:39:01 up 35 days, 2:15, 2 users, load average: 0.08, 0.03, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1.2.3.4 07:35 5.00s 0.03s 0.00s w
www pts/1 5.6.7.8 07:30 8:12 0.01s 0.01s -bash
逐个解释
第一行和uptime一样。
下面是登录用户列表:
| 字段 | 含义 |
|---|---|
| USER | 用户名 |
| TTY | 终端类型(pts/0表示远程连接) |
| FROM | 从哪个IP登录的 |
| LOGIN@ | 登录时间 |
| IDLE | 空闲时间 |
| JCPU | 整个终端所有进程用的CPU时间 |
| PCPU | 当前进程用的CPU时间 |
| WHAT | 当前在跑什么命令 |
三、其他查看命令
who命令
看谁登录了:
who
输出:
root pts/0 2026-10-09 07:35 (1.2.3.4)
www pts/1 2026-10-09 07:30 (5.6.7.8)
last命令
看登录历史:
last
输出最近登录的记录。
lastb命令
看失败的登录:
lastb
四、负载高了怎么排查
第一步:看CPU
top
按P按CPU排序,看哪个进程占CPU多。
第二步:看内存
free -h
看内存够不够,有没有用swap。
第三步:看磁盘
df -h
看磁盘满了没。
第四步:看IO
iostat
看磁盘IO高不高。
五、常见坑
坑1:负载高不代表CPU高
负载包括:
- 正在用CPU的进程
- 等着CPU的进程
- 等着磁盘IO的进程
可能是磁盘IO高,CPU不高,但负载也高。
坑2:负载和核数对比
1核CPU,负载1.0就是满了。
4核CPU,负载4.0才是满了。
别光看数字,要看CPU核数。
坑3:三个负载数的区别
- 1分钟高,5分钟、15分钟不高:可能是突然有个进程跑了一下
- 15分钟都高:说明系统一直很忙
总结
记住:
uptime看系统运行时间和负载w看谁登录了、在干嘛- 负载三个数:1分钟、5分钟、15分钟
- 负载要和CPU核数对比
- 负载高了用top、free、df、iostat排查
最常用:
uptime # 看负载
w # 看谁在登录
top # 看哪个进程占CPU
遇到问题加QQ23979811 协助处理