用户 postgres 启动占用所有 CPU 100% 使用率的进程

Posted

技术标签:

【中文标题】用户 postgres 启动占用所有 CPU 100% 使用率的进程【英文标题】:user postgres launches process that takes all CPUs 100% usage 【发布时间】:2018-05-03 07:16:14 【问题描述】:

用户 postgres 正在运行一个进程,该进程在 centos 机器中以 100% 的使用率占用所有 CPU,postgresql 服务未运行,因此它不能成为查询。

当我尝试停止进程时,它会自行重启。那么进程的名字就有些奇怪了。

【问题讨论】:

我从你的图片中看不出它是怎样的 postgres。可能你正在为 smbd 开采硬币 顺便说一句,现在让 db 脱机是一个宝贵的建议。如果我是一名矿工,我会准确监控 SO 以查看我是否被抓住并尽快销毁我的代码 - 首先是为了让下次更难保护,其次我会非常羞于编写使用 100 的代码% 甚至不费吹灰之力让它看起来不那么可疑...... 你被黑了。 @VaoTsun 只是出于好奇:你怎么知道它与硬币开采有关?以防万一我将来看到类似的东西。谢谢! :-) @JimJones 只是出于我的无知 :D 我只是没有看到任何其他点可以在某些人 postgres 上以最大速度使用所有四个内核来旋转自写过程。我的意思是 - 你还能如何使用其他机器资源?暴力破解密码?计算圆周率?正如我所说 - 我只是因为我的知识和幻想非常有限而想到硬币 【参考方案1】:

恭喜!

通过将具有弱超级用户密码的数据库暴露在互联网上,您邀请某人闯入并为自己的目的使用您的 CPU,可能是mining crypto-currencies。

从互联网上获取机器,将其擦干净并重新安装操作系统。

【讨论】:

调试问题,找出弱点,以后不再重蹈覆辙,难道不是更多吗? 嗯,弱点是弱超级用户密码。解决这个问题,你就很好了。 我刚刚重新格式化,但对于未来的读者,一个简单的ALTER ROLE postgres with password ***** 会解决它吗?因为它对我不起作用(即脚本不断弹出) @puk 一旦有人控制了你的机器,游戏就结束了。您不应该相信自己能够找到并删除所有代码和后门。擦拭机器并重新安装操作系统,并在新系统上选择好的密码。【参考方案2】:

我在我的 VPS 上遇到了同样的问题。我考虑过重新安装操作系统或克隆 VPS,但该解决方案存在很多问题。所以,我选择了另一种方式: 我做到了:

使用“pg_dumpall”备份所有数据 备份pqsql配置(pg_hba.conf,postgresql.conf,...) 卸载 pgsql 的“一切” 重新安装 pgsql 恢复 pgsql 数据 完成

【讨论】:

以上是关于用户 postgres 启动占用所有 CPU 100% 使用率的进程的主要内容,如果未能解决你的问题,请参考以下文章

解决Win10系统本地主机,网络受限占用CPU过高的问题

连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑

Linux系统下怎样查看进程的CPU占用率

win10cpu占用100%怎么办

postgresql某进程占用cpu资源过高,降不下来

Win10系统WMIProviderHost进程占用CPU过高怎么办