linux 使cpu使用率升高_如何解决Linux中CPU使用率高的问题?

原标题:如何解决Linux中CPU使用率高的问题?

电脑死机了?还是开始听到电脑发出很响的CPU风扇噪音?Linux中CPU使用率过高的原因很多,但最常见的原因是运行异常的应用程序。本文介绍了如何在Linux中解决CPU使用率过高的问题。

找出罪魁祸首

运行异常的应用程序连速度最快的处理器都“俯首称臣”。可以使用System Monitor应用程序或终端中的top,找出有问题的那个应用程序。

打开终端,键入top,然后按回车键。

图1

默认情况下,所有进程都按照CPU使用率来排序,最耗CPU的进程位于顶部。如果某个应用程序始终位于前五名,CPU使用率明显高于其余应用程序,那它就是罪魁祸首。

终止或杀死应用程序

top包括支持renice和kill的功能,那样您可以使用这些工具来改变任何进程的优先级或强制停止它。

应用程序的nice优先级是指与其他运行中的进程相比,允许它使用的CPU资源数量。nice接受的值在+19到-20之间。数值越高,优先级越低。

在top中,按r并输入有问题的那个应用程序的PID。试着改成“+5”值,如果不管用,重试“+10”、“+15”,最后是最低优先级“+19”。

图2

如果该应用程序没有响应,应立即终止它。在top中按k,输入PID,然后按回车键,该应用程序将消失。

更新一切

如果您每次运行应用程序时问题依然存在,更新该应用程序可能会解决问题。

为此,在终端中输入:

sudo apt update && sudo apt -y upgrade

图3

之后,试着再运行有问题的那个应用程序。

删除并重新安装应用程序

如果问题没有解决,有可能是由于程序配置中的错误参数。将其重置为原始状态可能会有所帮助。

先备份配置,以防这可能不是问题的根源,到时候便于恢复。然后,清除有问题的那个应用程序:

sudo apt purge APP_NAME

图4

重新安装应用程序:

sudo apt update

sudo apt install APP_NAME

图5

这会将应用程序重置为原始状态。

回到以前的版本

如果升级应用程序解决不了问题,可以改而回到以前的版本。可以试着降级并使用旧版本,至少直到开发人员修复了应用程序中的错误。

要降级应用程序,先通过运行终端并执行以下命令来查看可用版本:

sudo apt policy APP_NAME

目前安装的版本旁边会有三个星号。注意其他可用版本。

降级之前,建议您清除现有版本。这将清除任何与配置有关的问题。

安装旧版本,方法如下:

sudo apt install APP_NAME=VERSION

图6

使用替代应用程序

Linux的优点是,有许多应用程序可执行同样的操作。因此,如果一个应用程序导致CPU使用率过高,您可以换成替代应用程序。

修复导致CPU使用率过高的核心应用程序

如果大量耗用CPU资源的是核心应用程序(比如systemd或Xorg),会发生什么?

若是systemd,试着禁用电脑上非必需的功能和辅助设备,比如游戏手柄和打印机。

如果设备是游戏手柄、鼠标或键盘,您又在运行Ubuntu或兼容的发行版,请在终端中键入xinput,查看所有已连接的设备。想禁用其中一个设备,请使用:

xinput --disable DEVICE_ID

图7

想重新启用设备,请在上述命令中将disable换成enable。

至于其他设备,解决办法稍微复杂一点。首先,您得在终端中输入lsmod并按回车键,查看Linux内核作为模块加载的所有其他驱动程序。找到有问题的设备对应的驱动程序,并记下名称。然后,输入以下内容:

sudo nano /etc/modprobe.d/blacklist.conf

您刚打开的文档是启动过程中不应加载的模块的黑名单。它可能已经填充了一些条目。移至文件末尾,遵循同样的语法,将模块添加到该列表中。您的条目应是这样:

blacklist MODULE_NAME

保存文件,重新启动,但愿现在一切正常。

若是Xorg,试着禁用Window Manager的合成器。虽然合成器将与CPU有关的任务卸载到GPU,但并非总是如此。有时,通过启用合成支持,您还可以实现许多效果。

有时,GPU的驱动程序也会导致CPU使用率过高。Xorg与英伟达或AMD驱动程序的特定版本并不是很兼容。解决办法是升级或降级到不同的版本。另外,可以试用GPU驱动程序的开源版本。不过,那些版本没有同样的功能集,可能缺少一些功能。

换掉内核

Linux内核很少是CPU使用率过高的原因。不过,如果您到了这一步却仍未找到解决办法,不妨试一试。

如官网上所述,要在Ubuntu中安装流行的Liquorix内核,访问终端并输入:

sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update

图8

这会将存储库添加到Ubuntu的源代码中。然后,要将内核本身加载上来,请使用:

sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

重新启动以启用新内核,但愿CPU使用率会回到正常水平。

但愿其中一种解决办法对您有用。如果没用,您也可以试着用taskset为应用程序手动分配CPU核心

(https://www.maketecheasier.com/assign-cpu-cores-with-taskset-linux/)。最后,也许是时候从头开始重新安装操作系统或改用不同的发行版本了返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值