如何分析 top 命令结果:CPU 和 RAM 消耗

如何分析 top 命令结果:CPU 和 RAM 消耗

我正在研究基于ARM的处理器(操作系统版本:Linux 3.4.35),我需要在某些进程运行时分析处理器的性能,通过输入top命令,我可以看到一些统计数据,但我不明白那里的细节,我应该寻找什么信息?

这里是我需要了解的细节(CPU usr 和 CPU sys 之间的区别,什么是 nic、idle、io irq 和 Sirq 以及如何清除缓存 RAM):

Mem: 32184K used, 648K free, 0K shrd, 676K buff, 7536K cached
CPU: 11.7% usr 29.4% sys  0.0% nic 41.1% idle 11.7% io  0.0% irq  5.8% sirq

答案1

开始学习给定 Linux/Bash 命令的最佳位置是参考给定命令的手册页或联机帮助页。

这是一个链接top联机帮助页。在 shell 中,您应该能够通过简单地执行 来阅读联机帮助页man top。我还将添加一个链接博客解释top

您的问题的相关部分可以在部分找到2b.任务和CPU状态联机帮助页的:

默认情况下,显示这些单独类别的百分比。下面显示两个标签,首先显示较新内核版本的标签。

       us, user    : time running un-niced user processes
       sy, system  : time running kernel processes
       ni, nice    : time running niced user processes
       id, idle    : time spent in the kernel idle handler
       wa, IO-wait : time waiting for I/O completion
       hi : time spent servicing hardware interrupts
       si : time spent servicing software interrupts

usni分别是花费在未优化和优化进程上的 CPU 使用百分比。好的值是用户空间进程,它们要么是好的,要么是不好的,因为它们可以被赋予一个优先级值,要么与更重要的内核或系统进程合作并避开,要么不合作。这是一个相当简单的解释的链接友善和优先。

其他的应该相当简单:

idle是指有多少处理器容量处于空闲或未使用状态。io是处理器的输入/输出队列。irqsrq分别是硬件中断和软件中断。

如果您想了解有关如何对top输出进行排序的更多信息,这里是一个相关的 Stack Overflow 帖子。此外,如果您想了解有关清除缓存内存/缓冲区的更多信息,这里是一个 U&L 堆栈交换站。

请阅读我提供的所有链接,如果需要,您应该更深入地研究 Linux 处理和内存处理的工作原理。网上有大量信息。

相关内容