Linux常见操作-监控进程和系统资源使用情况top

  
top:  显示进程信息和资源使用情况
top -c:  -c,  显示进程的完整命令
  

统计信息区

        load average:  平均负载,  是指系统的运行队列的平均利用率
                三个数值分别是指  1分钟、5分钟、15分钟前,  满负荷状态的数字为  "1.00  *  CPU核数"
  

(当前时间)      (系统运行时间)   (当前登录用户数) (平均系统负载。1分钟、5分钟、15分钟前)
top - 20:21:10 up 1 day, 18:25,  2 users,  load average: 0.00, 0.00, 0.00
 
(进程总数)           (正在运行进程) (正在睡眠)     (已停止)      (僵尸进程数)
Tasks:  19 total,   1 running,  18 sleeping,   0 stopped,   0 zombie
 
(CPU占用) (用户空间) (内核空间) ()      (空闲占比)  (等待输入输出占比)
%Cpu(s):  0.0 us,   0.0 sy,  0.0 ni,  100.0 id,   0.0 wa,    0.0 hi,  0.0 si,  0.0 st
 
(物理内存)    (总量)          (空闲)            (已使用)       (用作内核缓存的内存量)
MiB Mem :  12653.4 total,  10517.1 free,   1157.5 used,    978.8 buff/cache
(交换区)
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.  11235.5 avail Mem

  

进程信息区

        PID:  进程id
        PR:  优先级
        NI:  nice值。负值表示高优先级,正值表示低优先级
        VIRT:  进程使用的虚拟内存总量。VIRT=SWAP+RES
        RES:  进程使用的、未被换出的物理内存大小。RES=CODE+DATA
        SHR:  共享内存大小
        S:  进程状态。
                D=不可中断的睡眠状态
                R=运行
                S=睡眠
                T=跟踪/停止
                Z=僵尸进程
        %CPU:  cpu  占用百分比
        %MEM:  物理内存占用百分比

(进程id)()   (优先级)(nice值)(虚拟)(真实) (共享)(状态)
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  947 walker    20   0 7967296 773564  28652 S   0.3   6.0   2:06.13 java -jar halo-latest.jar
    1 root      20   0    1240    772    516 S   0.0   0.0   0:05.82 /init
    7 root      20   0     892     84     16 S   0.0   0.0   0:00.00 /init
    8 root      20   0     892     84     16 S   0.0   0.0   0:00.26 /init
    9 walker    20   0   10172   5044   3268 S   0.0   0.0   0:00.08 -bash

  
  

常见交互-修改内存单位

        使用  E  更改统计信息区的内存单位,  如改成  GB

top - 21:17:44 up 1 day, 19:22,  0 users,  load average: 0.00, 0.00, 0.00
Tasks:  23 total,   1 running,  22 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
GiB Mem :     12.4 total,     10.3 free,      1.1 used,      1.0 buff/cache
GiB Swap:      4.0 total,      4.0 free,      0.0 used.     11.0 avail Mem

  
        使用  e  更改进程信息区的内存单位,  如改成  MB

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0    1.2m   0.9m   0.5m S   0.0   0.0   0:05.86 init
    7 root      20   0    0.9m   0.1m   0.0m S   0.0   0.0   0:00.00 init
    8 root      20   0    0.9m   0.1m   0.0m S   0.0   0.0   0:00.26 init
    9 walker    20   0    9.9m   4.9m   3.2m S   0.0   0.0   0:00.08 bash
  551 root      20   0    1.2m   0.4m   0.0m S   0.0   0.0   0:00.00 init

  
  

常见交互-按内存占比排序

      使用  M  将进程信息区的进程按  %MEM  从高到低排列

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  947 walker    20   0 7780.6m 755.8m  28.0m S   0.3   6.0   2:12.77 java
  845 mysql     20   0 2032.3m 318.9m  32.8m S   0.3   2.5   0:45.83 mysqld
  635 walker    20   0   20.1m  13.0m   6.8m S   0.0   0.1   0:03.32 python3.8
  921 walker    20   0   20.1m  12.9m   6.7m S   0.0   0.1   0:03.20 python3.8
  922 walker    20   0   20.1m  12.9m   6.7m S   0.0   0.1   0:03.10 python3.8

  

常见交互-按CPU占比排序

        使用  P  将进程信息区的进程按  %CPU  从高到低排列

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  845 mysql     20   0 2032.3m 318.9m  32.8m S   0.3   2.5   0:46.11 mysqld
  947 walker    20   0 7780.6m 755.8m  28.0m S   0.3   6.0   2:13.07 java
    1 root      20   0    1.2m   0.9m   0.5m S   0.0   0.0   0:05.86 init
    7 root      20   0    0.9m   0.1m   0.0m S   0.0   0.0   0:00.00 init
    8 root      20   0    0.9m   0.1m   0.0m S   0.0   0.0   0:00.26 init
    9 walker    20   0    9.9m   4.9m   3.2m S   0.0   0.0   0:00.08 bash