Linux系统监控:top/htop/ps命令实战教程
为什么要监控系统?
服务器资源有限,需要监控:
- CPU使用率
- 内存占用
- 磁盘空间
- 进程状态
及时发现异常,避免服务崩溃。
top - 实时进程监控
基本用法
1 | |
显示信息分为3部分:
- 系统汇总(顶部)
- 进程列表(中间)
- 快捷键提示(底部)
顶部信息解读
1 | |
10:00:00- 当前时间up 1 day- 系统运行时间2 users- 当前登录用户数load average- 负载均衡(1/5/15分钟),数值等于CPU核心数是满载
1 | |
total- 总进程数running- 运行中sleeping- 休眠zombie- 僵尸进程(异常)
1 | |
us- 用户进程占用sy- 内核进程占用id- 空闲(越大越好)wa- 等待IO(高说明磁盘读写慢)
1 | |
total- 总内存free- 空闲used- 已用cache- 缓存(可释放)
进程列表字段
| 字段 | 含义 |
|---|---|
| PID | 进程ID |
| USER | 运行用户 |
| PR | 优先级 |
| NI | Nice值(负数=高优先级) |
| VIRT | 虚拟内存 |
| RES | 实际占用内存 |
| %CPU | CPU使用率 |
| %MEM | 内存使用率 |
| TIME+ | 运行时间 |
| COMMAND | 命令名 |
top快捷键
1 | |
htop - 进化的top(推荐)
安装
1 | |
优势
- 彩色界面,更直观
- 支持鼠标操作
- 可以直接杀死进程
- 显示进程树
基本用法
1 | |
htop快捷键
1 | |
ps - 查看进程快照
基本用法
1 | |
ps aux详解
1 | |
字段含义:
USER- 运行用户PID- 进程ID%CPU- CPU使用率%MEM- 内存使用率VSZ- 虚拟内存RSS- 实际内存TTY- 终端STAT- 状态S- 休眠R- 运行Z- 僵尸
START- 启动时间TIME- 占用CPU时间COMMAND- 命令
常用组合
1 | |
实战场景
场景1:CPU占用过高
1 | |
场景2:内存不足
1 | |
场景3:服务挂了
1 | |
场景4:僵尸进程
1 | |
系统资源查看
free - 内存信息
1 | |
df - 磁盘使用
1 | |
uptime - 系统运行时间
1 | |
监控脚本示例
1 | |
总结
top- 实时监控,按P/M排序htop- 更好用,支持鼠标ps aux- 快照查看,|grep过滤- 排查CPU高:
top→ 找进程 →kill - 排查内存:
free -h→htop→ 找进程 - 定期检查
zombie进程
下一篇:Docker基础(容器入门)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 欢迎来到洞洞的博客!