centos进程

top

 

top - 23:25:03 up 338 days, 22:15, 1 user, load average: 0.40, 0.25, 0.53
Tasks: 26 total, 1 running, 25 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.2 us, 0.8 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16425212 total, 5285604 free, 997504 used, 10142104 buff/cache
KiB Swap: 969964 total, 821480 free, 148484 used. 14728768 avail Mem

top 表示当前程序的名称
11:05:18 表示当前的系统的时间
up 8 days,17:12 表示该机器已经启动了多长时间
1 user 表示当前系统中只有一个用户
load average: 0.29,0.20,0.25 分别对应 1、5、15 分钟内 cpu 的平均负载

load average 在 wikipedia 中的解释是 the system load is a measure of the amount of work that a computer system is doing 也就是对当前 CPU 工作量的度量,具体来说也就是指运行队列的平均长度,也就是等待 CPU 的平均进程数相关的一个计算值。

 

 

假设我们的系统是单 CPU、单内核的,把它比喻成是一条单向的桥,把 CPU 任务比作汽车。

  • load = 0 的时候意味着这个桥上并没有车,cpu 没有任何任务;
  • load < 1 的时候意味着桥上的车并不多,一切都还是很流畅的,cpu 的任务并不多,资源还很充足;
  • load = 1 的时候就意味着桥已经被车给占满了,没有一点空隙,cpu 已经在全力工作了,所有的资源都被用完了,当然还好,这还在能力范围之内,只是有点慢而已;
  • load > 1 的时候就意味着不仅仅是桥上已经被车占满了,就连桥外都被占满了,cpu 已经在全力工作,系统资源的用完了,但是还是有大量的进程在请求,在等待。若是这个值大于 2 表示进程请求超过 CPU 工作能力的 2 倍。而若是这个值大于 5 说明系统已经在超负荷运作了

 

来看 top 的第二行数据,基本上第二行是进程的一个情况统计:

内容解释
Tasks: 26 total 进程总数
1 running 1 个正在运行的进程数
25 sleeping 25 个睡眠的进程数
0 stopped 没有停止的进程数
0 zombie

没有僵尸进程数

 

top 的第三行数据,这一行基本上是 CPU 的一个使用情况的统计了:

内容解释
Cpu(s): 1.0%us 用户空间进程占用 CPU 百分比
1.0% sy 内核空间运行占用 CPU 百分比
0.0%ni 用户进程空间内改变过优先级的进程占用 CPU 百分比
97.9%id 空闲 CPU 百分比
0.0%wa 等待输入输出的 CPU 时间百分比
0.1%hi 硬中断(Hardware IRQ)占用 CPU 的百分比
0.0%si 软中断(Software IRQ)占用 CPU 的百分比
0.0%st (Steal time) 是 hypervisor 等虚拟服务中,虚拟 CPU 等待实际 CPU 的时间的百分比

 

 

top 是一个前台程序,所以是一个可以交互的:

常用交互命令解释
q 退出程序
I 切换显示平均负载和启动时间的信息
P 根据 CPU 使用百分比大小进行排序
M 根据驻留内存大小进行排序
i 忽略闲置和僵死的进程,这是一个开关式命令
k 终止一个进程,系统提示输入 PID 及发送的信号值。一般终止进程用 15 信号,不能正常结束则使用 9 信号。安全模式下该命令被屏蔽。

 

 

ps

pstree 查看进程的命令树

 

查看cpu的个数和核数

查看cpu个数

shiyanlou:~/ $ cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l [23:19:48]
1

查看cpu核数
shiyanlou:~/ $ cat /proc/cpuinfo|grep "physical id"|grep "0"|wc -l [23:19:54]
4

 

 

菜鸟的自白
原文地址:https://www.cnblogs.com/lzjloveit/p/14483834.html