当前位置: 首页 > 科技观察

LinuxCPU占用率高的问题如何解决?

时间:2023-03-17 23:24:28 科技观察

【.com速译】电脑死机了?或者开始听到电脑发出很大的CPU风扇噪音?Linux中CPU使用率高的原因有很多,但最常见的原因是应用程序行为不当。本文介绍了如何修复Linux中的高CPU使用率。找到罪魁祸首。行为不端的应用程序甚至会让最快的处理器瘫痪。您可以使用系统监视器应用程序或终端中的顶部来查找有问题的应用程序。打开终端,键入top,然后按Enter。图1默认情况下,所有进程都按CPU使用率排序,最占用CPU的进程位于顶部。如果某个应用程序的CPU使用率一直排在前五位,其CPU使用率明显高于其他应用程序,那么它就是罪魁祸首。Terminateorkillapplicationstop包括对renice和kill的支持,因此您可以使用这些工具来更改任何进程的优先级或强制停止它。应用程序的nice优先级是指与其他正在运行的进程相比,它被允许使用的CPU资源量。nice接受+19到-20之间的值。数字越大,优先级越低。在顶部,按r并输入有问题的应用程序的PID。尝试更改为“+5”值,如果不起作用,请再次尝试“+10”、“+15”,最后是最低优先级的“+19”。图2如果应用程序没有响应,应立即终止。在顶部按k,输入PID,回车,应用消失。更新所有内容如果每次运行应用程序时问题仍然存在,更新应用程序可能会解决问题。为此,请在终端中输入:sudoaptupdate&&sudoapt-yupgrade在图3之后,再次尝试运行有问题的应用程序。删除并重新安装应用如果问题没有解决,可能是程序配置参数错误。将其重置为原始状态可能会有所帮助。首先备份您的配置,以防这可能不是问题的根源,然后再恢复它。然后,清除有问题的应用程序:sudoaptpurgeAPP_NAMEPicture4重新安装应用程序:sudoaptupdatesudoaptinstallAPP_NAMEPicture5这会将应用程序重置为原始状态。返回到以前的版本如果升级应用程序不能解决问题,您可以返回到以前的版本。尝试降级并使用旧版本,至少在开发人员修复应用程序中的错误之前。要降级应用程序,首先通过运行终端并执行以下命令检查可用版本:sudoaptpolicyAPP_NAME当前安装的版本旁边将有三个星号。请注意其他可用版本。在降级之前,建议您清除现有版本。这将清除所有与配置相关的问题。使用以下命令安装旧版本:sudoaptinstallAPP_NAME=VERSION图6使用替代应用程序Linux的优势在于有许多应用程序执行相同的操作。因此,如果一个应用程序导致CPU使用率过高,您可以切换到另一个应用程序。修复导致高CPU使用率的核心应用程序如果核心应用程序(例如systemd或Xorg)占用CPU资源会怎样?对于systemd,请尝试禁用计算机上的非必要功能和辅助设备,例如游戏手柄和打印机。如果设备是游戏手柄、鼠标或键盘,并且您正在运行Ubuntu或兼容的发行版,请在终端中键入xinput以查看所有连接的设备。如果要禁用其中一个设备,请使用:xinput--disableDEVICE_ID图7如果要重新启用设备,请将上述命令中的disable替换为enable。对于其他设备,解决方案稍微复杂一些。首先,您必须在终端中键入lsmod并按回车键以查看Linux内核作为模块加载的所有其他驱动程序。找到相关设备的驱动程序并记下名称。然后,输入以下内容:sudonano/etc/modprobe.d/blacklist.conf您刚刚打开的文件是启动期间不应加载的模块的黑名单。它可能已经填充了一些条目。移动到文件末尾并按照相同的语法将模块添加到此列表。您的条目应如下所示:blacklistMODULE_NAME保存文件,重新启动,希望现在一切正常。对于Xorg,请尝试禁用窗口管理器合成器。虽然合成器将与CPU相关的任务卸载到GPU,但情况并非总是如此。有时您还可以通过启用合成支持来实现许多效果。有时,GPU的驱动程序也会导致CPU使用率过高。Xorg与特定版本的Nvidia或AMD驱动程序不太兼容。解决方法是升级或降级到不同的版本。或者,可以试用GPU驱动程序的开源版本。但是,这些版本没有相同的功能集,并且可能缺少某些功能。换出内核Linux内核很少是导致CPU使用率过高的原因。但是,如果您已经走到这一步还没有找到解决方案,请试一试。如官方网站所述,要在Ubuntu中安装流行的Liquorix内核,请访问终端并输入:sudoadd-apt-repositoryppa:damentz/liquorix&&sudoapt-getupdate图8这会将存储库添加到Ubuntu的源代码中。然后,要加载内核本身,请使用:sudoapt-getinstalllinux-image-liquorix-amd64linux-headers-liquorix-amd64重新启动以启用新内核,希望CPU使用率将恢复到正常水平。希望其中一种解决方案适合您。如果它不起作用,您还可以尝试使用任务集(https://www.maketecheasier.com/assign-cpu-cores-with-taskset-linux/)手动将CPU内核分配给应用程序。最后,也许是时候从头开始重新安装操作系统或切换到不同的发行版(https://www.maketecheasier.com/best-linux-distros/)。原标题:HowtoFixHighCPUUsageinLinux,作者:OdysseasKourafalos