Linux中的top command

最近在跑一些可以并行的代码,开几个进程,消耗多少CPU占用率,这些决定变得很重要。而top指令就是用来查看CPU占用率的。于是,想记录一下怎么看top的输出,以及top中常用的subcommand。

Top输出分析

在终端输入top就会输出如下内容,由顶部的五行和一个process table组成:

overview

我们一行行来看:

detail

其中,Nice Value和priority的区别如下:

  • Nice value 是用户空间的,而 priority(PR)是进程实际优先级,由 Linux 内核使用。在 Linux 系统中,优先级范围是 0 到 139,其中 0 到 99 用于实时进程,100 到 139 用于用户进程。Nice value 的范围是 -20 到 +19,其中 -20 表示最高,0 表示默认,+19 表示最低。Nice valuepriority 之间的关系如下:

    \[PR = 20 + NI\]

Top常用指令

  1. 输入top后,按下数字键 1 可以查看系统上每个 CPU 核心的图形表示,再按一次可以切换回原来的界面

    core

  2. top -u <username> 展示指定用户的cpu占用率

  3. top -i输出当前idle的进程

  4. 按下 Shift+L 可以按名称查找进程。这会在粗体表头行的正上方创建一个提示。输入查找的进程名称,然后按 Enter 或 Return 键,以查看新排序的进程列表中突出显示的该进程的实例。

    locate

Reference

[1] https://www.redhat.com/sysadmin/interpret-top-output

[2] https://askubuntu.com/questions/656771/process-niceness-vs-priority

[3] https://opensource.com/article/22/3/linux-top-command




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Solana Core Concepts: Accounts, Programs, and PDAs
  • Python3 Concurrency: asyncio module/async/await
  • Python Cheat Sheet
  • MIT6.824 Lab2A Raft Leader Election
  • ARM交叉编译工具链与编译选项