学习 Linux 命令(一):top

实时查看系统的整体运行情况。

top 输出信息分为上下两部分,上半部分展示了系统运行的整体统计信息,下半部分展示了最占系统资源的进程列表。

top  
top - 09:35:52 up 184 days, 16:02,  1 user,  load average: 0.56, 0.54, 0.43  
Tasks: 261 total,   1 running, 260 sleeping,   0 stopped,   0 zombie  
Cpu(s): 14.0%us,  0.5%sy,  0.0%ni, 85.4%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st  
Mem:  49427048k total, 48869048k used,   558000k free,   266024k buffers  
Swap:  4194300k total,        0k used,  4194300k free, 20899936k cached

  PID USER      PR  NI  VIRT  SHR S %CPU %MEM    TIME+  COMMAND
12719 yarn      20   0 3523m  18m S 99.4  3.6   8229:26 java  
 1874 root      20   0 7956m  13m S  5.0  4.4   3297:02 java
 7801 oozie     20   0 6733m  16m S  4.0  2.2   5258:19 java
16646 kafka     20   0 8225m  15m S  3.0  2.1   3791:26 java  
22870 root      20   0 17.7g  12m S  2.0  0.8 151:08.22 java  
 7165 cloudera  20   0 6638m  12m S  1.0  2.2   2794:22 java
 7206 cloudera  20   0 4093m  12m S  1.0  0.6 273:30.89 java
 7241 cloudera  20   0 8240m 154m S  1.0  6.2  14782:50 java
10354 hdfs      20   0 6195m  19m S  1.0  3.0  82:32.92 java  
    1 root      20   0 19360  788 S  0.0  0.0   0:00.96 init

统计信息

第一行:

  • 系统当前时间和系统运行时长
  • 当前登录用户数,可以使用 users 命令查看登录用户
  • 平均负载,分别是 1 分钟、5 分钟和 15 分钟负载情况

第二行:

  • 总进程数、运行进程数、休眠进程数、停止进程数和僵尸进程数

第三行:

  • us 用户空间 CPU 占比
  • sy 内核空间 CPU 占比
  • ni NICE 优先级 CPU 占比
  • id 空闲 CPU 占比
  • wa 等待 IO CPU 占比
  • hi 硬中断 CPU 占比
  • si 软中断 CPU 占比

第四行:

  • total 总内存大小
  • used 使用内存大小
  • free 空闲内存大小
  • buffers 缓存内存大小

第五行:

  • total 交换区大小
  • used 使用交换区大小
  • free 空闲交换区大小
  • cached 缓冲交换区大小

进程列表

  • PID 进程 ID
  • USER 所有者
  • PR 优先级
  • NI NICE 值,范围从 [-20,19],负值代表优先级高,正值代表优先级低
  • VIRT 虚拟内存大小
  • RES 物理内存大小
  • SHR 共享内存大小
  • S 状态,D 不可中断的睡眠状态,R 运行,S 睡眠,T 跟踪/停止,Z 僵尸
  • %CPU CPU 占比
  • %MEM 内存占比
  • TIME+ 使用 CPU 时长
  • COMMAND 进程命令