前沿
在使用云服务器的时候我们会遇到一到晚上12点cpu就拉高的问题但是一重启他又好了,那么怎么排查就成了一个很棘手问题,到底是自己服务的问题。还是定时任务的问题我们应该怎么查看喃下面我们就一块学习一下简单的排查方案
流程
先查看云服务器cpu拉高开始时间
使用命令排查在那时候有什么服务启动起来了
如果是某些服务影响的的禁用服务
systemctl disable --now 服务名称
如果你的cpu重启之后还是特别高
那么我们显示用top查出目前运行的所有进程
看是哪个线程吃CPU
top -H -p 2210
按P排序,记录最高TID
立刻导出堆栈
jstack 2210 > /opt/zero-stack.log
看GC
jstat -gc 2210 1000
同步检查系统定时是否正在运行
pgrep cron
ps aux | grep bash
然后我们根据进程来重启项目查看项目的cpu占用率有没有好转,如果还是没有的话先停止确认是这个项目。然后在查询这个项目的docker日志然后逐步的排查就好了
systemctl restart 你的服务名
使用命令产查看系统的日志
从最早到最新完整输出,空格翻页,q退出
journalctl
倒序(最新日志放最上面,排查问题首选)
journalctl -r
一次性输出全部日志到屏幕(适合导出)
journalctl --no-pager