Linux top命令简介
在终端输入top,结果如下:
1:第一行,系统状态
19:12:02—->当前的系统时间
6 min——->系统启动了6分钟
1 use——->只有1个用户登录,如果2个人分别通过2台电脑登录1个账户,这个数字是2,也就是说不是账户的登录个数
load average:0.43, 0.59, 0.3——->三个数字顺序代表系统1分钟,5分钟,15分钟的负载状态,这3个数字数据是每隔5秒钟检查一次活跃的进程数,然后通过进程数根据一定的算法计算出来的。
查看CPU个数命令,grep "model name" /proc/cpuinfo | wc -l
假设 A =(load average),B =CPU个数
A / B < 0.7 ,此时表示系统良好
A / B >= 0.7 且A / B <= 1 ,如果长期这种状态,最好尽早调查服务器的状态,避免出现负荷
A / B >= 1 且A / B <= 5 ,系统处于负荷状态,马上调查服务器的状态
A / B > 5 ,系统处于超负荷状态
2:第二行,进程状态
Tasks: 198 total——–>当前的系统共有198个进程
2 running—————>其中有2个进程处于运行态
196 sleeping————>其中有196个进程处于休眠态
0 stopped—————>其中有0个进程处于暂停态
0 zombie—————->其中有0个进程处于僵死态
3:第三行,CPU状态
7.1 us——–>User CPU time:用户空间占用CPU的百分比
5.9 sy——–>System CPU time:内核空间占用CPU的百分比
0.0 ni——–>Nice CPU time改变过优先级的进程占用CPU的百分比
86.7 id——->空闲CPU百分比
0.2 wa——–>iowait:IO等待占用CPU的百分比
0.1 hi——–>Hardware IRQ:硬中断占用CPU的百分比
0.0 si——–>SoftwareIRQ:软中断占用CPU的百分比
0.0 st——–>Steal Time:虚拟CPU等待物理CPU的时间的百分比
4:第四行,内存状态
3931300 total——>内存总量(4GB)
1402100 used——–>使用的内存总量(1.4GB)
2529200 free——–>空闲的内存总量(2.5G)
89240 buffers——>缓存的内存量 (89M)
5:第五行,交换区状态
7812092 total——->交换区总量(8GB),当时分区时手动分了内存的2倍,8G
0used—————>使用的交换区总量(0),使用了0M,说明暂时物理内存完全够用
7812092free——–>空闲交换区总量(8GB)
689192cached——–>缓冲的交换区总量(7GB)
6:第六行,各进程状态
PID———>进程id号
USER——–>进程所有者
PR———->进程优先级,是内核分配的优先级,一般比NI值高20。
如果是rt(real time),表示该进程是在实时调度优先级下运行
NI———->nice值。是用户层面的优先级,越小优先级越高
VIRT——–>进程需要的内存总量,包括进程使用的库、代码、数据等,单位kb。
假如进程申请5M的内存,但实际只使用了1M,那么它会增长5M,而不是实际的使用量
RES———>进程当前使用的、未被换出的物理内存大小,单位kb。
假如进程申请5M的内存,但实际只使用了1M,那么它会增长1M,是实际的使用量
SHR———>共享内存大小,单位kb
S———–>进程状态。D=不可中断的睡眠状态,在这个状态下,kill这个进程是不好使的。
比如read系统调用时,就是这个状态,但是因为时间太短,top命令一般捕捉不到。
S=可中断的睡眠状态R=运行T=跟踪/停止 Z=僵尸进程
%CPU——–>上次更新到现在的CPU时间占用百分比
%MEM——–>进程使用的物理内存百分比
TIME+——->进程使用的CPU时间总计,单位1/100秒
COMMAND—–>进程名称
失败是什么?没有什么,只是更走近成功一步;