什么导致 Xorg CPU 使用率过高?

问题描述 投票:0回答:3

我在 Debian 上运行 feh image viewer,经过几个小时的正常 CPU 使用率(大约 3%),xorg 突然开始使用更多的 CPU(大约 80%),一切都运行得很慢。我没有运行任何其他东西,所以错误应该在 feh 或 xserver 上......

我正在使用命令“feh -z -q -D20 -R 1”(-z 用于随机图像,-q 用于安静,-D20 每 20 秒更改一次图片,-R 1 每秒刷新一次目录,因为我经常删除和插入图片)

当我在高 CPU 使用率和 feh 运行之前使用命令“free -m”时,我得到 总使用免费共享 buff/可用缓存 内存:923 117 474 19 331 735 交换:99 0 99

几个小时后,我对“mem”得到了相同的结果,但是“swap”的使用量是 99.

cpu xorg xserver
3个回答
0
投票

您的内存使用量上升(交换空间已满)这一事实直接指向您系统中某些程序的内存泄漏。考虑到

feh
可能不是为这样的用例设计的,我敢打赌这是内存不足的原因。

“everything runs slowly”是内核内存不足造成的,它正在尽最大努力保持系统运行。如果你执意奔跑

feh
你的选择是

  • feh
    中的内存泄漏错误进行分类并为其创建修复程序。
  • 试着让别人为你做同样的事。
  • 定期杀死

    feh
    并重新运行它。基本上你可以做到(在
    bash

    while true; do timeout 120m feh -z -q -D20 -R 1; sleep 2s; done

    这将每 120 分钟终止一次并在 2 秒延迟后重新启动它(如果需要,这允许您终止

    while
    循环)。另一种选择是使用
    ulimit
    来设置允许
    feh
    的最大内存量,一旦使用过多,该过程可能就会终止。


0
投票

我刚刚遇到了类似的问题:

Xorg
显示 25% 的 CPU 负载。
就我而言,这在重新启动时就湿透了
xfce4-panel
.


-3
投票

我解决了这个问题,但我也不知道为什么。

您可以尝试运行此代码终止此进程:

ps -a | grep Xorg | awk '{print $1}' | xargs kill 9
© www.soinside.com 2019 - 2024. All rights reserved.