小智 293
在顶部时,键入大写“E”在总内存信息中循环通过不同的内存单位(KiB、MiB、GiB 等,不同于 kB、MB 和 GB):

虽然小写的“e”执行相同的单独流程:

从联机帮助页:
2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.
Run Code Online (Sandbox Code Playgroud)
版本信息: top -version:procps-ng version 3.3.9
系统:CentOS的7
Ant*_*ich 81
有一个命令行选项可以做到这一点:
-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.
Run Code Online (Sandbox Code Playgroud)
所以像这样运行 top 就足够了:
top -M
Run Code Online (Sandbox Code Playgroud)
如果-M不起作用,您可以E在已经在顶部时按下。
来自man top(procps-ng 3.3.9 版):
E :Extend-Memory-Scale in Summary Area 使用此命令,您可以循环使用范围从 KiB(kibibytes 或 1,024 字节)到 EiB(exbibytes 或 1,152,921,504,606,846,976 字节)的可用汇总区域内存缩放。
如果您在显示的数字和以下标签之间看到“+”,则表示 top 被迫截断该数字的某些部分。通过提高比例因子,可以避免这种截断。

rɑː*_*dʒɑ 59
您也可以使用htop. 它比top.
如果您使用的是 Debian 或其衍生产品之一,那么您可以使用sudo apt-get install htop.

编辑:这是一个具有更好配色方案的屏幕截图:
slm*_*slm 38
top -M据我所知,它不适用于任何 Fedora、Debian 或 Ubuntu 发行版。我刚试过,它不在procps-ng提供top. 有很多实现,top所以需要特别注意它们使用的。
一般来说,最好free与切换一起使用以获得 Linux 上的可用内存量。
您可能已经注意到,在 CentOS 5 和 6 以及 RHEL 5 和 6 上top -M似乎都可以工作。这是因为这些发行版附带了原始版本的procps. 该项目已分叉,现在有另一个项目procps-ng。
Fedora 项目页面上的一些关于为什么会有分叉的细节。
摘抄
旧的(遗留的)procps 工具几年来没有更新,这导致了大规模的代码拆分,这是由仅在本地应用的分发特定补丁的应用程序造成的,这些补丁没有合并到上游。该项目变得难以维护,因为一些新编写的补丁与其他发行商维护的源不兼容。在应用程序行为及其命令行开关中可以注意到类似的不兼容性。这个不可避免的更新可以理解为统一所有 Linux 发行版中的 procps 工具的努力。
所以要清楚,分叉项目procps-ng是 Debian、Fedora、Ubuntu 和其他发行版正在使用的,遗留项目,它确实支持top -M仍在使用几个跟不上最新的长期版本和最伟大的。
注意:我下载了最新版本的procps-ng“procps-ng version 3.3.9.1-14ef”,它也没有-M开关。
$ ./top/top -version
  procps-ng version 3.3.9.1-14ef
Usage:
  lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
Run Code Online (Sandbox Code Playgroud)
在运行free与开关,就可以看到最可能的原因,为什么缺乏单元功能,从缺少procps-ng的执行top。
$ free -m
             total       used       free     shared    buffers     cached
Mem:          7782       6506       1276          0        504       1726
-/+ buffers/cache:       4274       3507
Swap:         7823       1429       6394
[saml@greeneggs ~]$ free -k
             total       used       free     shared    buffers     cached
Mem:       7969492    6663180    1306312          0     516948    1764780
-/+ buffers/cache:    4381452    3588040
Swap:      8011772    1463456    6548316
Run Code Online (Sandbox Code Playgroud)
四舍五入变得有问题,所以我相信,procps的实现通过不提供能力来避免这个问题。
在显示聚合内存使用情况方面做得很好。
在我看来,这是查看内存的更好工具。
另一个有用的工具是nmon查看系统性能。
小智 28
您可以按以下键:
小智 8
您可以使用命令行选项E指定内存缩放比例,例如以 GB 为单位:
$ top -E g
Run Code Online (Sandbox Code Playgroud)
从man top:
-E  :Extend-Memory-Scaling as:  -E  k | m | g | t | p | e
     Instructs top to force summary area memory to be scaled as:
         k - kibibytes
         m - mebibytes
         g - gibibytes
         t - tebibytes
         p - pebibytes
         e - exbibytes
     Later this can be changed with the `E' command toggle.
Run Code Online (Sandbox Code Playgroud)
该-e选项可以与相同的选项一起使用来更改任务列表中的值。
操作系统:Ubuntu 20.04 和 RHEL 9
所以快速回答:根据您的 linux 发行版,请尝试:
top -M
Run Code Online (Sandbox Code Playgroud)
或者,在启动 top 后,输入大写E(然后输入W来编写配置)。
其中之一应该适用于几乎所有人(当然,Solaris 除外,在那里你很幸运能拥有顶级)。
额外提示:每次在新安装上启动顶级实例时,键入ExyzW以保存颜色、突出显示和单位 -真是一种解脱!
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           336518 次  |  
        
|   最近记录:  |