当前位置:首页>Linux>拒绝“不知所措”!Linux 进程监控与日志排查的 4 大神器

拒绝“不知所措”!Linux 进程监控与日志排查的 4 大神器

  • 2026-10-06 08:32:19
拒绝“不知所措”!Linux 进程监控与日志排查的 4 大神器

电脑突然卡顿?风扇狂转?某个服务明明启动了却用不了?

在 Windows 下,你可能会习惯性地按下 Ctrl+Alt+Del 呼出任务管理器,或者去翻翻事件查看器。

到了 Linux (Ubuntu) 环境下,面对黑乎乎的终端,是不是感觉两眼一抹黑,只想执行 reboot 大法?

别急!其实 Linux 提供了非常强大且专业的工具来帮你“把脉”系统。今天我们就来介绍 4 位系统管理的“御用神医”:top、htop、systemctl 和 journalctl。掌握了它们,你就能对系统的运行状态了如指掌。


1. top:老牌经典的“听诊器”

top 是 Linux 系统自带的性能分析工具,几乎所有的 Linux 发行版都预装了它。如果你进到一个陌生的服务器,它是你最可靠的伙伴。

如何使用

在终端输入:

top

界面解读

界面虽然看起来有点“硬核”,但其实逻辑很清晰:

  • • 前 5 行(系统概况):
    • • load average:系统负载(1分钟、5分钟、15分钟)。如果这个数字超过了你的 CPU 核心数,说明系统压力很大。
    • • Tasks:进程总数,有多少在运行,有多少在休眠。
    • • %Cpu(s):us 是用户占用,sy 是系统占用,id 是空闲。id 太低说明 CPU 忙不过来了。
    • • MiB Mem:内存使用情况。
  • • 下方列表(进程详情):
    • • PID:进程 ID(身份证号)。
    • • USER:谁运行的。
    • • %CPU / %MEM:占用了多少 CPU 和内存。
    • • COMMAND:是什么命令/程序。

常用快捷键

  • • P:按 CPU 使用率排序(找吃 CPU 的元凶)。
  • • M:按内存使用率排序(找吃内存的大户)。
  • • k:杀掉进程(输入 PID 后回车)。
  • • q:退出。

2. htop:颜值与实力并存的“彩超”

如果说 top 是听诊器,那 htop 就是全彩显示的 B 超/CT。它在 top 的基础上,增加了颜色显示、鼠标支持和更直观的图形条,强烈推荐新手安装使用。

安装与使用

Ubuntu 默认可能没装,先装上:

sudo apt install htop

运行:

htop

为什么它更好用?

  1. 1. 直观的进度条:CPU、内存、Swap 使用情况一目了然,不需要去读枯燥的数字。
  2. 2. 支持鼠标:你可以直接用鼠标点击列表头进行排序,或者点击进程选中它。
  3. 3. 树状视图:按 F5 可以看到进程的树状结构,清晰地看出是谁调用了谁。
  4. 4. 操作简单:底部直接列出了功能键,比如 F9 直接杀进程,不用背快捷键。

3. systemctl:掌管服务生杀大权的“大管家”

在 Linux 中,很多软件(如 Web 服务器、数据库、Docker)都是以“服务 (Service)”的形式在后台运行的。管理这些服务,现在最通用的标准就是 systemd,而 systemctl 就是它的控制命令。

核心命令三连

  • • 启动/停止/重启服务:
    # 启动 Nginxsudo systemctl start nginx# 停止 Nginxsudo systemctl stop nginx# 重启 Nginx (修改配置后常用)sudo systemctl restart nginx
  • • 查看服务状态(最常用):
    sudo systemctl status nginx

    这个命令会告诉你服务是 active (running) 还是 dead,如果是红色的 failed,它通常会在下方直接显示报错信息,非常有助于排错。

  • • 开机自启:
    # 让服务随系统启动sudo systemctl enable nginx# 禁止开机自启sudo systemctl disable nginx

4. journalctl:记录一切的“黑匣子”

服务启动失败了?系统莫名其妙报错?这时候就需要查看日志了。journalctl 是 systemd 的日志管理工具,它收集了内核、系统服务、应用的所有日志。

常用查日志姿势

  • • 查看所有日志(不推荐,内容太多):
    journalctl
  • • 查看某个特定服务的日志(最实用):比如 Docker 启动失败了,想看看到底咋回事:
    # -u 指定单元(unit/服务)sudo journalctl -u docker
  • • 查看实时的最新日志(像看监控录像一样):加上 -f (follow) 参数,屏幕会滚动显示最新产生的日志,适合在调试时一边操作一边看反应。
    sudo journalctl -u nginx -f
  • • 只看今天的日志:
    journalctl --since today
  • • 只看报错级别的日志:
    # -p err (priority error)journalctl -p err

总结

  • • 看实时负载:首选 htop,没有就用 top。
  • • 管后台服务:只认 systemctl。
  • • 查报错原因:systemctl status 配合 journalctl -u 服务名。

掌握了这 4 个工具,你就拥有了透视 Linux 系统的能力,再也不用遇到问题就只会重启了!


互动话题:你在 Linux 运维或使用过程中,遇到过最难排查的“灵异事件”是什么?最后是怎么发现原因的?欢迎评论区分享!

最新文章

随机文章