主题
面试速答(先看这里)
**一句话结论:**首先看下这个程序是不是已经在跑了,top看下运行的进程,发现有一个kswapd0进行耗CPU比较高,这个进程本身是个linux的后台进程,负责内存交换的,但是熟悉的都知道,他其实是个老演员了。
60秒标准回答:
我有一台云服务器,用于部署一个我的个人博客的。最近收到告警,说挂了挖矿程序
首先看下这个程序是不是已经在跑了,top看下运行的进程,发现有一个kswapd0进行耗CPU比较高,这个进程本身是个linux的后台进程,负责内存交换的,但是熟悉的都知道,他其实是个老演员了
正常的kswapd0不会一直在,也不会占CPU这么高,所以怀疑接下来用 netstat -antlp 看看网络连接情况,挖矿不可能没有远程传输吧
**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点
回答主线:
- **要点1:**我有一台云服务器,用于部署一个我的个人博客的。
- **要点2:**正常的kswapd0不会一直在,也不会占CPU这么高,所以怀疑接下来用 netstat -antlp 看看网络连接情况,挖矿不可能没有远程传输吧。
- **要点3:**不查不知道,一查就发现了老朋友。
- **要点4:**接下来就要深挖了,找到这个kswapd0占用的文件路径到底在哪,进入/proc/<pid>这个目录,我这里的<pid>是67498:
- **要点5:**最终发现是在git用户在有个文件夹,那这个文件夹就可以直接干掉了。
**记忆锚点:**kswapd0 → netstat → CPU → pid → 这个数据传输进程 → 看下运行的进程
追问准备:
- 围绕「kswapd0」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「netstat」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「CPU」:底层原理是什么?使用时有哪些边界和常见坑?
- 如果线上出现异常,你会如何定位、验证并规避?
我有一台云服务器,用于部署一个我的个人博客的。最近收到告警,说挂了挖矿程序

首先看下这个程序是不是已经在跑了,top看下运行的进程,发现有一个kswapd0进行耗CPU比较高,这个进程本身是个linux的后台进程,负责内存交换的,但是熟悉的都知道,他其实是个老演员了。

正常的kswapd0不会一直在,也不会占CPU这么高,所以怀疑接下来用 netstat -antlp 看看网络连接情况,挖矿不可能没有远程传输吧。

不查不知道,一查就发现了老朋友。通过netstat发现一个瑞士的IP在和kswapd0通信,同时有两个一个罗马尼亚的ip在和rsync这个数据传输进程在不断通信。

接下来就要深挖了,找到这个kswapd0占用的文件路径到底在哪,进入/proc/<pid>这个目录,我这里的<pid>是67498:

最终发现是在git用户在有个文件夹,那这个文件夹就可以直接干掉了。
接下来就是删除文件夹、kill掉进程
检查并清除定时任务,删除被黑的账号,


清楚这个用户的密钥:


然后机器就恢复正常了。
