当前位置:网站首页 > R语言数据分析 > 正文

rpm命令的作用(rpm 命令详解)



快速链接

流程和资源的平衡举措

调查高内存使用率

free 命令

读取 /proc/meminfo

使用 vmstat 命令查找内存消耗大户

使用 top 和 htop 查找内存消耗大户

使用 ps 命令查找内存消耗大户

调查高 CPU 使用率

使用 top 和 htop 查找 CPU 消耗大户

使用 mpstat 命令监控 CPU 使用率

使用 ps 查找 CPU 消耗大户

一点清理工作

  • Linux 上的所有进程都需要内存和 CPU 周期,这可能导致对这些资源的竞争。
  • 像 free、top 和 htop 这样的工具有助于识别内存消耗大户和高 CPU 使用率。
  • 使用像 ps 和 top 这样的命令来识别和终止有问题的进程,恢复系统性能。

在您的 Linux 计算机中运行的每一段代码都需要内存和 CPU 周期。一个进程占用过多份额会减慢其他进程的速度。下面是如何找到罪魁祸首。

流程和资源的平衡举措

内存 和 CPU 周期是有限的资源。当一个程序的代码被执行时,就会形成一个进程。除了操作系统的进程外,还有运行您的桌面环境的进程,以及您启动的任何命令或应用程序。它们都需要 CPU 时间和内存。

Linux 和 CPU 必须管理内存的分配,并在核心和线程之间平衡和调度 CPU 工作负载,以确保所有进程都能得到一份。

应用程序应该编写得确保它们不会垄断您的机器,但有时会出错,进程可能会试图占用您所有的内存并垄断您的 CPU。

这时您需要能够识别出失控进程。

调查高内存使用率

Linux 把空闲内存用作缓存。尽管看起来您所有的内存都在使用中,但这可能是一种错觉。如果需要,会从缓存中删除项目来给常规进程分配内存。

free 命令

free 命令为您提供内存使用情况的快照式概述。-h(人类可读)选项使输出更易于阅读。

我在一个终端窗口中运行了该命令三次。在另一个终端窗口中,我运行了一个请求大量内存的程序。

free -h

free -h

free -h


可用内存下降的速度惊人。

读取 /proc/meminfo

像 top 和 htop 这类工具从 /proc/meminfo 伪文件获取其内存信息。

less /proc/meminfo


输出会因您所运行的内核和 CPU 架构而不同,但标准字段始终存在。

使用 vmstat 命令查找内存占用大户

vmstat 命令能够为我们提供 一段时间内虚拟内存使用情况的视图。

要查看四组结果,间隔五秒,以 MiB 显示值,我们可以使用此命令:

vmstat 5 4 -S M


使用 top 和 htop 查找内存占用大户

top 和 htop 都提供了系统信息的动态仪表板,进程表为每个进程显示一行信息。


若要按照内存使用情况对进程表进行排序,请按下 Shift+M 。


有个叫 gobble 的程序已经启动了两次。它占用了三分之二的内存。咱们把这两个进程终止掉。

按下 k 键,启动终止的功能。


在 top 里,咱们得提供想要终止的进程的进程 ID 。


默认来讲,终止功能会用顶行进程的 ID 。


因为咱们按照内存使用情况给表排了序,所以这就是咱们要用的 ID ,因而咱们可以直接按回车键。


咱们被问到要给进程发送哪个信号。

如果我们重复该过程两次,gobble 程序的两个实例都已终止。


在 htop 里也差不多。把高亮栏移动到要终止的进程那儿。


将小的高亮栏移动到 9 SIGKILL 条目,然后按回车键。

使用 ps 命令查找内存占用大户

ps 命令 为我们提供进程 ID,还能提供父进程 ID。如果有大量消耗内存的进程均由同一个父进程启动,那么终止该父进程,其所有子进程也会随之终止。

我们会使用 -e(代表所有进程)选项和 -o(表示用户自定义输出格式)选项。在我们所需的输出中包括:

  • pid: 进程 ID。
  • ppid: 父进程 ID。
  • comm: 命令名称。
  • %mem: 此进程使用的 RAM 百分比。
  • rss: 驻留集大小。这是进程使用的非交换物理内存,以千字节为单位。请注意,这不包括尚未实际使用的保留内存,也不包括虚拟内存。但对于手头的任务,这是一个很好的指标。
  • %cpu: 这是进程到目前为止占用的 CPU 时间与进程运行时间相除的结果。

我们按内存排序。减号表示倒序排序。我们可以将结果通过管道传递给 head 命令,从而获取 10 个最严重的违规进程。

ps -e -o pid,ppid,comm,%mem,rss,%cpu --sort=-%mem | head -10


调查高 CPU 使用率

追踪 CPU 占用大户的流程和我们所讨论的内存占用大户的流程极为相似。我们需要识别有问题的进程,并获取其进程 ID。

使用 top 和 htop 查找 CPU 占用大户

我们可以几乎完全按照追踪内存消耗大户的方式使用 top 和 htop。默认情况下,top 和 htop 按%CPU 列对其进程表进行排序。如果您更改了排序列,可以按 Shift+P(用于处理器)恢复按%CPU 排序。


有一个名为 drain 的进程几乎占用了全部的 CPU 时间。确定罪魁祸首后,我们可以按 k 调用终止进程功能。

使用 mpstat 命令监控 CPU 使用率

在终止进程时要小心谨慎。有些进程,特别是系统进程,不应被终止。mpstat 命令为您提供用户和系统进程的 CPU 使用率快照。

在 Fedora 和 Manjaro 上您需要安装 mpstat,但它已在我们的 Ubuntu PC 上安装。

在 Fedora 上,您需要输入

sudo dnf install sysstat


在 Manjaro 上,命令是:

sudo pacman -S sysstat


我们将使用 -P all(所有处理器)选项,并每两秒请求一次报告,共请求五次。

mpstat -P all 2 5


我们可以看到 CPU 的负载来自用户端,而不是系统端。第六行是我们请求的五次报告的平均值。

使用 ps 查找 CPU 占用大户

我们也可以使用 ps 来查找 CPU 密集型进程。对我们之前的命令稍作调整,我们可以按 CPU 进行排序。

ps -e -o pid,ppid,comm,%mem,rss,%cpu --sort=-%cpu | 前 10 个


关于 ps 的条目是一个误报,我们知道它只运行了一小会儿。在第二行,我们可以看到独占 CPU 的进程的进程 ID。有了这些信息,我们可以使用 top 或 htop,或者 kill 命令来终止该进程。

一点清理工作

大多数时候,您的 Linux 计算机将运行良好,所有进程都在可接受的范围内运行。如果您注意到您的计算机变得迟缓,请使用这些工具进行调查。您可能会发现一个内存或 CPU 占用大户在肆意运行。

到此这篇rpm命令的作用(rpm 命令详解)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • airplay怎么投屏到电视上(airplay怎么投到平板)2025-08-13 23:36:07
  • webflux有用吗(webflux war)2025-08-13 23:36:07
  • 微信Linux官网(微信linux arm)2025-08-13 23:36:07
  • yarn日志怎么看报错(yarn 日志保留时间)2025-08-13 23:36:07
  • grid布局居中(gridview 居中)2025-08-13 23:36:07
  • resnet18网络结构(resnet18网络结构介绍)2025-08-13 23:36:07
  • oracle 教程书籍推荐(oracle哪本书比较好)2025-08-13 23:36:07
  • cephrbd存储(ceph存储过程)2025-08-13 23:36:07
  • ar是干什么用的(ar是什么软件干什么的)2025-08-13 23:36:07
  • etta cries怎么读(ettacries怎么读)2025-08-13 23:36:07
  • 全屏图片