元数据卡
- 前置知识:程序、进程、内存、并发概念(上一页)
- 预计时间:15 分钟
- 完成标志:能独立用
ps、free、top查看系统状态
你的进度
你知道了电脑的构造、程序如何变成进程、内存怎么工作、操作系统怎么同时跑几十个程序。现在动手——用你刚学的工具去看看你自己的电脑里到底在发生什么。
热身(5 分钟)
打开终端,运行
ps aux | wc -l,看看你的电脑当前有多少进程在跑。运行
free -h,看看总内存、用了多少、还剩多少。运行
ls -la ~,看看你用户目录下有哪些文件(特别是隐藏文件,以.开头的)。运行
ps aux | grep bash(或zsh),看看你的终端进程。
观察实验(10 分钟)
打开浏览器,打开 5 个标签页。运行
ps aux | grep chrome(或firefox、safari)。现代浏览器通常每个标签页一个进程——你看到几个?打开终端,运行
top或htop。观察哪些进程占 CPU 最多,哪些占内存最多。随便打开一个程序(比如计算器或文本编辑器),再跑一次
ps aux。能找到它吗?记下它的 PID。运行
cat /proc/cpuinfo | grep "model name",看你的 CPU 型号。跑nproc看有几个核。
挑战(选做)
创建一个消耗 CPU 的进程,然后用 top 观察它:
bash
# 在一个终端运行(会一直循环,直到你关掉它)
python3 -c "while True: pass" &
# 在另一个终端:
top -o %CPU -p $(pgrep -f "while True")
# 关掉测试:
kill %1排障
场景:你运行 free 说用了 80%,是不是不够用?
不是。Linux 会把空闲内存用于缓存(cache/buffers),在有需要时释放给程序。available 才是真正可用的,free 列显示的是绝对空闲,通常很小。不要被 80% 吓到。
旅人笔记
抽象的概念需要亲手验证才能变成直觉。没事跑跑 ps aux 和 free -h,你会慢慢认识那些系统进程的名字。
→ 下一站:终端入门
现在你知道了电脑里装了什么——但你不会用。你的工具安静地躺在终端里等着。下一章,我们会打开通往终端的大门。