1、top命令

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。包括进程ID、内存占用率、CPU占用率等

第一行:top - 06:18:40 up 3:15, 1 user, load average: 0.06, 0.02, 0.00
含义分别是:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)

第二行:Tasks: 365 total, 1 running, 364 sleeping, 0 stopped, 0 zombie
含义分别是:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵尸的进程数

第三行:%Cpu(s): 0.4 us, 0.5 sy, 0.0 ni, 98.8 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
含义分别是:us用户占用资源百分比、sy系统内核占用资源百分比、ni改变过优先级的进程资源百分比、id空闲的资源百分比、wa等待输入输出的cpu时间百分比、
hi硬中断占用的cpu百分比、si软中断占用的cpu百分比、st表示CPU等待虚拟机调度的时间占比,这个指标一般在虚拟机中才会有、在物理机该值一般维持为0

第四行:MiB Mem:7790.6 total, 4309.7 free,2571.4 used, 909.5buff/cache
含义分别是:total物理内存总量、free内存空闲量、used内存使用量、buff/cache作为用于缓存的内存量。

第五行:MiB Swap: 2095.0 total, 2095.0 free, 0.0 used. 4882.7 avail Mem
含义分别是:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。本质是在硬盘上开辟一块空间当成内存使用。

第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
从第六行开始,就是具体的系统进程的资源使用的详细情况,
依次分别表示:PID进程ID、USER进程所有者的用户名、PR优先级、NI为nice值(负值表示搞优先级,正值表示低优先级)、VIRT进程使用的虚拟内存总量(KB)、RES进程使用的未被换出的物理内存大小(KB)、
共享内存大小(KB)、S进程状态、%CPU进程上次更新到现在的CPU时间占用百分比、%MEM物理内存占比、TIME+进程使用的CPU时间总计(单位1/100秒)、COMMAND命令名。默认各进程是按照CPU的占用量来排序的,具体参照下方表格

使用方式:top的使用方式 top [-d number] 或 top [-bnp]

参数解释:
	-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。-b:以批次的方式执行top。-n:与-b配合使用,表示需要进行几次top命令的输出结果。-p:指定特定的pid进程号进行观察。


常用命令:
	top -d 2:每两秒刷新一次

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
    ?:显示在top当中可以输入的命令 

    P:以CPU的使用资源排序显示 

    M:以内存的使用资源排序显示 

    N:以pid排序显示 

    T:由进程使用的时间累计排序显示 

    k:给某一个pid一个信号。可以用来杀死进程 

    r:给某个pid重新定制一个nice值(即优先级) 

    q:退出top(用ctrl+c也可以退出top)

第六行进程信息详解

详解参考:平均负载_总线的繁忙程度怎么描述出来-CSDN博客

常用键盘操作参考:每天5分钟 | 运维基础(56)TOP命令 (qq.com)

2、free命令

totol         used                      free                    shared                        buff/cache                         available
内存总数(KB)    已经使用的内存数(KB)       空闲的内存数(KB)        多个进程共享的内存总数(KB)    磁盘使用的缓冲/缓存之和的大小(详解见下方链接)         还可以被进程使用的物理内存大小

*available就是从应用程度的角度看到的可用内存数量。(Linux内核为了提升磁盘操作的性能,会消耗一部分内存去缓存磁盘数据,就是buff/cache。当应用程序没有足够的free内存可用,内核就会从buffer和cache中回收一部分内存来满足应用程序的需求。理论上来说available=free+buffer+cache,但实际上available会小于三者之和,因为不是所有的free/buffer都能释放)

第一行Mem:物理内存
第二行Swap:交互区内存
*Swap空间是Linux操作系统中用作内存扩展的特殊硬盘空间。它的作用是提供额外的虚拟内存以确保系统的正常运行。

常用命令
free -b:以Byte为单位显示内存使用情况
free -k:以KB为单位显示内存使用情况
free -m:以MB为单位显示内存使用情况
free -s<间隔描述>:持续观察内存的使用情况。如free -s 2(以2s为间隔来持续监测内存使用情况)
也可搭配使用如:free -m 3 -s 1  //每秒以M为单位,显示系统内存详细使用情况,一共显示3次

其它如:

详解参考:free命令详解(转载)-CSDN博客
内存中缓存cache和缓冲buff的概念

posted on 2024-04-25 17:36  彭灰  阅读(104)  评论(0编辑  收藏  举报