top(4)
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
使用:top [options]
常见options: -u 指定用户
-p 指定进程id
信息解释:
23:00:19---------------服务器时间
up 18 days,6:49--------------------服务器启动了多久
1 user------------一个用户
load average 0.00 0.04 0.00 --------------一分钟 五分钟 十五分钟 的系统负载
Tasks: 116 total, 2 running, 114 sleeping, 0 stopped, 0 zombie ----------------------一共有116任务 2个运行中 114个睡眠 0个停止 0个僵尸任务
%Cpu(s): 0.7 us, 1.3 sy, 0.0 ni, 97.7 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st----------------每个类别占用的cpu
us--------------用户态占用
sy--------------内核态
ni---------------改变过优先级的进程占用CPU的百分比
id-------------空闲cpu百分比
wa--------------IO等待占用CPU的百分比
hi-------------------硬中断(Hardware IRQ)占用CPU的百分比
si-----------------软中断(Software Interrupts)占用CPU的百分比
st-------------
MiB Mem : 1829.6 total, 123.4 free, 796.9 used, 909.3 buff/cache---------------内存状况:总内存----空闲内存----使用了的内存-----缓存用的内存
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 874.3 avail Mem---------------------交换分区状况:总内存----空闲内存----使用了的内存-----缓存用的内存
表头分别代表的意思:
PID-----进程id
USER------进程所有者
PR------进程优先级
NI--------nice值。负值表示高优先级,正值表示低优先级
VIRT------进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES-------进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR--------共享内存大小,单位kb
S--------进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU---------上次更新到现在的CPU时间占用百分比
%MEM--------进程使用的物理内存百分比
TIME+--------进程使用的CPU时间总计,单位1/100秒
COMMAND------进程名称(命令名/命令行)
top常用技巧:
一、高亮显示当前运行的进程 按键 b 再按一次取消
二、多核cpu监控 按数字1 会展示每个逻辑cpu的信息 再按就会返回到基本的top页面
三、cpu 100%问题
1、找到cpu占用高的进程号 直接top命令(默认按照cpu的占比来排序的)
2、找到该进程中占用cpu高的线程 top -Hp 进程id
3、jstack 线程id