我安装的 ubuntu 似乎存在 CPU 使用问题。使用 htop 时,我得到以下信息:
1156 www-data 20 0 184872 20392 1440 R 12.6 2.0 11798:03 phpOBG8GM_jn7kb
6295 www-data 20 0 184872 15028 2092 R 12.6 1.5 672:12.88 phptyWFNT_5llsm
18355 www-data 20 0 185004 17116 64 R 12.6 1.7 23720:57 phpFoPZUp_jhikt
19348 www-data 20 0 185004 16708 1608 R 12.6 1.6 23668:33 phppxfGf2_w3fce
28590 www-data 20 0 184872 19692 756 R 12.6 1.9 1178:06 phpf7InUV_4rgbs
7956 www-data 20 0 184872 15072 2064 R 12.3 1.5 2329:51 php8MhPSj_txwza
15824 www-data 20 0 184872 7864 2572 R 12.3 0.8 291:12.02 phpAJBQo5_ippme
18023 www-data 20 0 185004 18940 1896 R 12.3 1.9 23738:00 phpF1VYi5_jqxf3
1 root 20 0 37828 4844 2952 S 0.0 0.5 1:52.97 systemd
我已通过 pid 终止每个进程,然后重新启动 Apache。进程消失了,但随后又出现了?我如何才能永久终止它们?
答案1
别担心。会话文件流量导致的此类占用大量资源和大小的问题是备份实用程序、Web 服务器和其他高正常运行时间服务面临的常见问题。例如,请参见...Ubuntu 16.04((HyperV)-/tmp 中的文件非常大,不断增长……系统空闲时 CPU 和网络负载很大。
请注意,该帖子并非重复……您的文件确实是 Apache 会话文件(根据/tmp/php*
)……但在这种情况下,您会发现备份实用程序(Duplicati)/tmp/dup*
肆意写入备份文件会导致几乎相同的 CPU 占用和存储占用,这似乎很相似。顽皮的程序……滥用这些临时文件。
查看[已解决] 交叉发布在 ubuntuforums.org 上——这种情况确实发生了,但对他们来说还有希望,对你来说也是如此。
从实际角度来说,有一个简单的解决方案,也有更深入、更全面的解决方案。哪种方案适合您取决于您的使用计划。
轻松修复(再见,再见,再见 [Web 服务器])
第一个问题——您是否打算从有问题的机器上运行 Apache Web 服务器?
如果不是,那么你应该禁用 Apache 自动启动通过使用update-rc.d
来更新 中的启动服务偏好设置/etc/init.d/
。
默认情况下,许多 Linux 发行版都会启动 Apache 运行——即使您不知道它的作用并且从未使用过它。最好的情况是,也许您只需在启动配置中拨动开关,不仅可以解决这个问题,还可以在此过程中防范一些潜在的安全风险。
陷入你正在旋转的网络
但也许你想运行一个 Web 服务器。好的,好的。
在这种情况下,修复方法并不是那么普遍和确定,但这里有一些关于如何稳定事态并可能找到修复方法的建议......
作为一名偏执狂,我建议考虑到这些情况确保你已安装最新的安全补丁。这听起来并不令人担忧……但当然,Apache2 已知漏洞会影响您的发行版捆绑的 Apache 副本……事实上甚至还有一篇讨论如何利用你的特定版本的文章用于“教育目的”(参见 CVE:1,2,3),因此如果您尚未安装这些功能或最近没有安装,您的行为可能是一种利用漏洞的迹象。小心为上。
鼓励一下——Ubuntu 16.04 也被称为“完美的服务器”一些所以不要让漏洞吓到你,只需谨慎地确保你的事务在安全方面是有序的。
接下来,确认一下你的怀疑(我也有同感),这些确实是来自 Web 服务器的 PHP 会话文件,方法是验证 Apache 的会话文件路径/tmp/
...除非发生非常奇怪的事情,否则应该匹配。
假设匹配,则可能是配置文件问题,因此请留出一些时间,如下所示。
销毁所有会话通过一个小的 PHP 脚本并进行一次性清理来争取一些时间(参见:如何清理 /tmp?和/tmp 目录是如何清理的?)。
现在流血速度已经减缓,重新评估是否有异常导致阿帕奇僵尸饥饿。参见:
据我所知,垃圾收集/会话生命周期的配置管理不善是会话文件变得非常大的常见原因。
如果这些都不起作用,我会尝试看看增长是否与某些情况有关,并且一定会发布详细信息适当的邮件列表/ubuntuforums.org。
答案2
如果你正在使用WordPress的对于您的应用程序,您应该考虑安装反恶意软件插件并扫描您的 WP 应用程序。您可以这样做顶部命令然后按 L在此过程中查看文件来自何处。