最快定位系统错误的方式是用journalctl同时指定时间段和日志级别,如journalctl --since today -p err;可结合-u或-k限定服务或内核,加-n或-f提升效率,并注意--since today与"24 hours ago"的区别及日志持久化配置。

直接用 journalctl 按时间段和日志级别组合筛选,是定位系统错误最快的方式。关键不是分别查,而是把时间范围和优先级一起加进命令里,一步到位。
用 --since 和 -p 同时限定
比如查今天发生的严重及以上错误(err、crit、alert、emerg),命令就是:
journalctl --since today -p err- 查最近两小时的警告及以上(warning、notice、info 等不算,只从 warning 开始):
journalctl --since "2 hours ago" -p warning - 查某段精确时段里的错误:
journalctl --since "2026-07-21 14:00:00" --until "2026-07-21 15:30:00" -p err
结合服务单元缩小范围
系统错误往往集中在特定服务或内核,加上 -u 或 -k 能避免干扰:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- 查 sshd 服务今天的所有错误:
journalctl -u sshd.service --since today -p err - 查内核报错(等同于 dmesg 中的关键错误):
journalctl -k -p err --since "1 day ago" - 查所有失败的服务单元在最近一小时的错误:
journalctl -u failed --since "1 hour ago" -p err
加 -n 和 -f 提高效率
生产环境日志量大,不加限制容易卡住或漏掉最新条目:
- 只看最近 50 行错误:
journalctl --since "30 min ago" -p err -n 50 - 实时盯住新出现的错误:
journalctl --since "now" -p err -f(运行后新产生的 err 级别日志会立刻刷出来) - 边看边翻页更顺手:
journalctl -p err --since "today" | less
注意几个易错点
有些细节不注意,结果就差很远:
-
--since today是从当日 00:00:00 开始,如果想查“过去24小时”,得写--since "24 hours ago",更准 -
-p err包含 err 及更高级别(crit/alert/emerg),但不含 warning;要包含 warning 就得写-p warning或-p 4 - 默认日志可能不持久,重启后丢历史记录。确认是否启用持久化:
ls /var/log/journal,没有就需手动创建并重启 journald










