标签:tip soft 软中断 info 个数 linux进程 rup 官方 inf
linux查看进程使用最多的命令应该是top命令了吧,我们今天主要说明一下,top命令结果中各参数的意义,top命令结果如下:
直观上结果分为上下两部分,上部分主要是系统的信息,下部分是系统进程信息,下面详细说明一下:
第一行代表了系统运行时间,分别表示:
系统时间,系统运行到现在的时间,当前登陆系统的用户数、系统平均负载的三个值,分别是5分钟、10分钟、15分钟。
tip:说明一下什么是系统负载,一般负载值越小越好,值也高说明系统的可能是出现了某种问题的信息,但是也并不是绝对的
借用网友的文章说明一下:https://www.cnblogs.com/TaleG/p/6030992.html
一只单核的处理器可以形象得比喻成一条单车道,数字在0-1之间算正常,这样来一辆车,该车不会等待直接通过;
0表示路上没有车
1.00 表示道路还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化;
1.00-*** 表示路况不太好了,如果到达2.00表示有桥上车辆一倍数目的车辆正在等待。这种情况你必须进行检查了
如果我们有两条行车道呢?
满负荷状态的数字为 "1.00 * CPU核数",即双核CPU为2.00,四核CPU为4.00
SO:
单核负载在0.7以下是安全的,超过0.7就需要进行优化了
那应该看那个参数??
看5分钟和15分钟的比较好,即后面2个数字。
CPU的核数如何获取呢??
grep ‘model name‘ /proc/cpuinfo | wc -l
CPU核心数目N,观察后面2个数字,用数字/N,如果得到的值小于0.7即可无忧
上一张字段说明图:
说明了第一行,第二行啥意思?
其实一眼就应该看出来,应该是系统进程数,第一列表示系统总进程数其次是运行进程、休眠进程、停止进程和僵尸进程
之后是系统CPU运行时间,“用户空间占用CPU百分比”、“内核空间占用CPU百分比”、“用户空间内改变过优先级的进程占用CPU百分比”、“空闲CPU百分比”、“等待输入输出CPU时间百分比”、“CPU服务于硬件中断所耗费的时间总额”、“CPU服务软中断所耗费的时间总额”、“Steal Time”
那么CPU各个参数都代表了什么意思呢?
看看那官方解释:
us: user cpu time (or) % CPU time spent in user space sy: system cpu time (or) % CPU time spent in kernel space ni: user nice cpu time (or) % CPU time spent on low priority processes id: idle cpu time (or) % CPU time spent idle wa: io wait cpu time (or) % CPU time spent in wait (on disk) hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts si: software irq (or) % CPU time spent servicing/handling software interrupts st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine
简单翻译一下:
us:用户态使用的cpu时间比
sy:系统态使用的cpu时间比
ni:用做nice加权的进程分配的用户态cpu时间比
id:空闲的cpu时间比
wa:cpu等待磁盘写入完成时间
hi:硬中断消耗时间
si:软中断消耗时间
st:虚拟机偷取时间
然并卵,还是不懂:
我们还是看看CPU的百分比是如何计算的吧:
比如一秒内有100个cpu时间片,这个cpu时间片就是cpu工作的最小单位。那么这100个cpu时间片在不同的区域和目的进行操作使用,就代表这个区域所占用的cpu时间比。也就是这里得出的cpu时间百分比,比如
将文件从磁盘的src位置拷贝到磁盘的dst位置。文件会从src先读取进入到内核空间,然后再读取到用户空间,然后拷贝数据到用户空间的buf上,再通过用户空间,内核空间,数据才到磁盘的dst上
所以从上面这个程序来看,cpu消耗在kernel space的时候就是sy(系统态使用的cpu百分比),cpu消耗在user space的时候就是us(用户态使用的cpu百分比)。そうか
弄明白了前两个,在说说hi和si两个参数
如果程序都没什么问题,那么是没有hi和si的,但是实际上有个硬中断和软中断的概念。比如硬中断,cpu在执行程序的时候,突然外设硬件(比如硬盘出现问题了)机器需要立刻通知cpu进行现场保存工作。这个时候会cpu会出现上下文切换。就是cpu会有一部分时间会被硬中断占用了,这个时间就是hi。相类似,si是软中断的cpu占用时间,软中断是由软件的指令方式触发的。
相关软中断和硬中断的概念可以参考:
http://blog.csdn.net/pxz_002/article/details/7327668
下面是nice参数
ni是nice的意思,nice是什么呢,每个linux进程都有个优先级,优先级高的进程有优先执行的权利,这个叫做pri。进程除了优先级外,还有个优先级的修正值。即比如你原先的优先级是20,然后修正值为-2,那么你最后的进程优先级为18。这个修正值就叫做进程的nice值。
那么问题来了,修改值是一个数字,怎么会占用系统时间呢???
ni是指用做nice加权的进程使用的用户态cpu时间比,我的理解就是一个进程的所谓修正值就意味着多分配一些cpu时间给这个进程的用户态,这个中间所多分配的cpu时间就是我们这里的ni。(这个理解没啥把握,如果有错误麻烦帮忙指出下)
之后是内存:
第五行是交换分区:
最后是进程信息:
标签:tip soft 软中断 info 个数 linux进程 rup 官方 inf
原文地址:http://www.cnblogs.com/yunfeiqi/p/7878164.html