跳到内容

元数据卡

  • 前置知识:程序、进程、内存、并发概念(上一页)
  • 预计时间:15 分钟
  • 完成标志:能独立用 psfreetop 查看系统状态

你的进度

你知道了电脑的构造、程序如何变成进程、内存怎么工作、操作系统怎么同时跑几十个程序。现在动手——用你刚学的工具去看看你自己的电脑里到底在发生什么。


热身(5 分钟)

  1. 打开终端,运行 ps aux | wc -l,看看你的电脑当前有多少进程在跑。

  2. 运行 free -h,看看总内存、用了多少、还剩多少。

  3. 运行 ls -la ~,看看你用户目录下有哪些文件(特别是隐藏文件,以 . 开头的)。

  4. 运行 ps aux | grep bash(或 zsh),看看你的终端进程。

观察实验(10 分钟)

  1. 打开浏览器,打开 5 个标签页。运行 ps aux | grep chrome(或 firefoxsafari)。现代浏览器通常每个标签页一个进程——你看到几个?

  2. 打开终端,运行 tophtop。观察哪些进程占 CPU 最多,哪些占内存最多。

  3. 随便打开一个程序(比如计算器或文本编辑器),再跑一次 ps aux。能找到它吗?记下它的 PID。

  4. 运行 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 auxfree -h,你会慢慢认识那些系统进程的名字。

下一站:终端入门

现在你知道了电脑里装了什么——但你不会用。你的工具安静地躺在终端里等着。下一章,我们会打开通往终端的大门。

打开终端的大门 →

Built with VitePress | Software Systems Atlas