Suspened
状态 。
第三行这一行主要是各种时间所占的百分比的统计,这个数据的统计时间区间是,从本次刷新到上一次刷新之间,实在这个区间统计的数据
us
,运行没有指定优先级的用户进程所消耗的CPU时间所占百分比,默认的终端执行的程序都是没有指定优先级的,我们可以使用nice
这个命令来改变程序执行的优先级:sudo nice -n -10 ./time
。sy
,运行内核进程所消耗的CPU时间所占的百分比 。ni
,运行指定了修改过优先级之后的用户进程所占的CPU时间百分比 。这里可以结合PR和NI两个字段进行分析 , 我们现在执行sudo nice -n 10 ./a.out
命令 , 在./a.out当中我启动了10个死循环的线程,我们来看一下它的top输出结果:
文章插图
sudo ./a.out
:文章插图
但是在实验测试的过程当中发现了一个奇怪的问题,但我们提升进程的优先级(提升优先级需要管理员权限)的时候ni的值没有发生变化,因此上面所谈到的ni的变化应该只适用于普通用户的进程(因为降低优先级不需要管理员权限) 。
文章插图
id
,idle进程执行所占的CPU时间百分比,当系统当中没有足够的进程让CPU执行的时候,idle进程会被调度到CPU上进行执行,这个idle进程是为了让操作系统能够良好的执行起来所设置的 , idle进程主要执行HLT指令,这个指令主要是让CPU节能,不需要CPU满负荷运转,因为这个时候没有具体的进程需要执行,这个百分比越大说明系统负载越轻,CPU不繁忙 。wa
,这个很好解释,等待IO的时间 。hi
,处理硬件中断所消耗的时间 。si
,处理软件中断所消耗的时间st
,这个时间稍微有点复杂,IBM解释原文为:
Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.这个主要是虚拟机的虚拟CPU等待真实物理CPU的时间 , 可以大致认为是
Ready
状态到Running
状态的等待时间 , 如果这个值越大说明虚拟机运行状态越不好,因为它等待真实CPU的时间很长 。第四行这一行表示的是物理内存的信息,单位是KiB 。
- total, 表示一共有多少内存,也就是物理内存大小 。
- free, 表示还有多少物理内存没有使用 。
- used, 表示使用了多少物理内存 。
- buff/cache, 表示用于用于缓存的物理内存的大小 。
- total, 表示对换区的总大小 。
- free, 表示对换区当中还有多少空间没有使用 。
- used, 表示对换区当中有多少空间被使用了 。
- 最后一项 avail Mem 是一个可用于启动新程序的内存大小的估计值 。
- PID,表示进程号,就是每个进程的ID 。
- USER , 就是用户的名称 。
- PR,优先级值 。
- NI,nice值 , 通过程序给进程设置的 。
- VIRT,进程使用的虚拟内存的大小,单位是KiB 。
- RES , 常驻内存的内存大小 , 单位是KiB 。
- SHR,共享内存的大?。ノ皇荎iB 。
- S,表示进程的状态,有一下几个状态 。
- D,不能够中断的睡眠状态 。
- R , 表示程序正在CPU上执行 。
- S,表示进程正在睡眠 。
- T,进程被信号停止执行 。
- t,表示进程正在被调试器追踪,调试器将这个进程停了下来 。
- Z,zombie表示是一个僵尸进程 。
- %CPU,上次一刷新之前对应的进程对CPU的占有率 , 这个值是可以突破100%的,因为一个进程可以有多个进程,比如下面这样,我们开启10个线程进行死循环:
推荐阅读
- Linux命令全解
- 小米MIX4最新消息_小米MIX4配置曝光
- centos7系统资源限制整理
- 大数据常用的Linux命令
- 整理一些Windows桌面运维常用的命令,并且整合成脚本
- csv2ECharts,**一行命令查看数据趋势图 工具分享**
- 工作7年收集到的git命令
- cmd常用命令介绍
- 学习ASP.NET Core Blazor编程系列五——列表页面
- 苹果13系列电池百分比怎么调_电池百分比设置方法