top
top是一个动态显示过程,即可跟据用户的按键不断刷新当前状态,top命令提供了实时的对当前系统的状态监视。
top - 11:53:40 up 11 days, 13:32, 3 users, load average: 0.00, 0.01, 0.05 Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.8 us, 0.7 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1880328 total, 203168 free, 151380 used, 1525780 buff/cache KiB Swap: 2097148 total, 2097044 free, 104 used. 1389256 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 30624 root 20 0 250396 21912 4680 S 3.0 1.2 8:43.05 /usr/bin/python /usr/bin/glances -o HTML -f /usr/local/nginx/html 1 root 20 0 134164 14168 3116 S 0.0 0.8 2:12.55 /usr/lib/systemd/systemd --switched-root --system --deserialize 20 2 root 20 0 0 0 0 S 0.0 0.0 0:00.20 [kthreadd] ...
一、top前五行信息
统计信息区前五行是系统整体的统计信息。
-
第一行是任务队列信息
同uptime命令的执行结果:
[root@localhost ~]#uptime 11:59:37 up 11 days, 13:38, 3 users, load average: 0.00, 0.01, 0.05
其内容如下:
-
11:59:37 #当前系统的时间
-
up 11 days, 13:38 #系统的运行的时间
-
3 users #当前的登陆的用户
-
load average: 0.00, 0.01, 0.05 #系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
-
第二、三行是进程和cpu的信息
-
Tasks: 179 total #进程总数
-
1 running #正在运行的进程数
-
178 sleeping #睡眠的进程数
-
0 stopped #停止的进程书
-
0 zombie #僵尸进程
-
0.8 us #用户空间占有cpu百分比
-
0.7 sy #内核空间占用cpu百分比
-
0.0 ni #用户进程空间nice切换进程优先级占用的cpu百分比
-
98.5 id #空闲的cpu百分比
-
0.0 wa #等待输入输出的cpu时间百分比
-
0.0 hi #硬件io占用cpu的百分比
-
0.0 si #软件io占用的cpu百分比
-
0.0 st #被虚拟化程序偷走的cpu百分比
-
第四、五行为内存信息
KiB Mem :
-
1880328 total #物理内存总量
-
203168 free #空闲物理内存的总量
-
151380 used #使用的物理内存总量
-
1525780 buff/cache #用作内核缓存缓冲的内存量
KiB Swap:
-
2097148 total #交换区总量
-
2097044 free #交换区空闲总量
-
104 used #使用的交换区总量
-
1389256 avail Mem #实际可用的内存总量
二、进程信息
-
PID #进程id
-
USER #进程所有者的用户名
-
PR #优先级
-
NI #nice值,负值表示高优先级,正值表示低优先级
-
VIRT #进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
-
RES #进程使用的、未被换出的物理内存,单位kb。RES=CODE+DATA
-
CODE #可执行代码占用的物理内存大小,单位kb
-
DATA #可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
-
SHR #共享内存大小,单位kb
-
S #进程状态
-
%CPU #上次更新到现在的CPU时间占用百分比
-
%MEM #进程使用的物理内存百分比
-
TIME+ #进程使用的CPU时间总计,单位1/100秒
-
COMMAND #命令名/命令行
三、进程状态信息
-
D:不可中断的睡眠
-
R:运行或就绪
-
S:可中断的睡眠
-
T:停止
-
Z:僵死
-
<:高优先级进程
-
N:低优先级进程
-
+:前台进程组中的进程
-
l:多线程进程
-
s:会话进程首进程
四、top指令 top
-
M:根据驻留内存大小进行排序
-
P:根据cpu使用百分比排序
-
T:根据累计时间进行排序
-
l:是否显示平均负载和启动时间
-
t:是否显示进程和cpu状态相关信息
-
m:是否显示内存相关信息
-
c:是否显示完整的命令行信息
-
q:退出top
-
k:终止某个进程
top选项
-
-d:刷新时长
-
-b:刷屏显示
-
-m:显示几屏
htop
我们了解了top命令的使用,但是还有一个比传统top更加功能强大的htop命令,它有更加强大的功能及能显示更多的信息。
CPU[ 0.0%] Tasks: 27, 30 thr; 2 running Mem[|||||||||||||||||||||||||||||||||| 227/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:17:58 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 57474 root 20 0 117M 2212 1416 R 0.5 0.2 0:00.53 htop 1370 root 20 0 540M 16360 5728 S 0.0 1.6 0:38.55 /usr/bin/python -Es /usr/sbin/tuned -l -P 42295 root 20 0 137M 5136 3868 S 0.5 0.5 0:00.43 sshd: root@pts/0,pts/1 ...
显示的内容更top相似,那我们来了解下htop更强大的功能:
-
htop支持鼠标操作
-
htop可以定制化显示内容
CPU[| 0.4%] Tas[| 2/385] Mem[|||||||||||||||||||||||||||||||||| 230/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:32:24 PPID START PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1131 00:51 1146 root 20 0 454M 20876 10760 S 0.0 2.1 0:10.80 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1153 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.00 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1184 root 20 0 454M 20876 10760 S 0.0 2.1 0:19.32 /usr/bin/docker-current daemon --selinux-enabled 1131 Feb06 1267 root 20 0 454M 20876 10760 S 0.0 2.1 0:07.20 /usr/bin/docker-current daemon --selinux-enabled 1131 Feb06 1273 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.02 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1335 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.00 /usr/bin/docker-current daemon --selinux-enabled
-
htop可以查找或过滤要查找显示的内容
CPU[ 0.0%] Tas[| 2/385] Mem[|||||||||||||||||||||||||||||||||| 230/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:34:20 PPID START PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 Feb06 1129 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:08.34 ├─ /usr/sbin/grafana-server --config=/etc/grafana/gr 1 00:51 26605 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.00 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 14594 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.25 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1232 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:01.90 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1203 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.02 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1143 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.00 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1140 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.39 │ └─ /usr/sbin/grafana-server --config=/etc/grafana
ps
查看进程快照
ps 有两种风格的命令:
SysV风格:以-开头
BSD风格:不需要-
常见的组合:
BSD风格:
-
a:所有与终端有关的进程
-
u:以用户为中心,进行显示
-
x:所有与终端无关的进程
-
o:自定义显示的字段
o后面常见的字段有:
-
pid:进程的id
-
ni:nice值
-
pri:优先级
-
psr: 进程分配到那个cpu
-
stat: 进程的状态
-
tty: 显示终端
-
comm: 显示命令
-
ppid:显示父进程
-
rtprio: 实时优先级
SysV风格:
-
-e: 显示所有进程
-
-f: 显示进程间关系
-
-o: 自定义显示字段
datst
收集系统信息
-
-c, –cpu: 显示cpu相关信息
-
-C #,#…total
-
-d,–disk: 显示磁盘的相关信息
-
-D sda,sdb…total
-
-g: 显示page相关的速率数据
-
-m:memory的相关统计数据
-
-n:interface的相关统计数据
-
-p:显示process的相关统计数据
-
-r:显示io请求的相关的统计数据
-
-s:显示swapped的相关统计数据
-
–tcp:显示tcp信息
-
–udp:显示udp信息
-
–raw:显示裸套接字信息
-
–socket:显示socket信息
-
–ipc:显示进程间通信信息
-
–top-cpu:显示最占cpu的进程
-
–top-io:最占用io的进程
-
–top-mem:最占用内存的进程
-
–top-latency:延迟最大的进程
原创文章,作者:N25_随心,如若转载,请注明出处:http://www.178linux.com/68719
评论列表(1条)
不错,总结归纳的非常好,这样对比归纳记忆将会更有利于长时间记忆。